@webref/idl 3.5.0 → 3.7.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.
File without changes
@@ -1,40 +1,40 @@
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: Compute Pressure API Level 1 (https://wicg.github.io/compute-pressure/)
4
+ // Source: Compute Pressure Level 1 (https://wicg.github.io/compute-pressure/)
5
5
 
6
- enum ComputePressureState { "nominal", "fair", "serious", "critical" };
6
+ enum PressureState { "nominal", "fair", "serious", "critical" };
7
7
 
8
- enum ComputePressureFactor { "thermal", "power-supply" };
8
+ enum PressureFactor { "thermal", "power-supply" };
9
9
 
10
- callback ComputePressureUpdateCallback = undefined (
11
- sequence<ComputePressureRecord> changes,
12
- ComputePressureObserver observer
10
+ callback PressureUpdateCallback = undefined (
11
+ sequence<PressureRecord> changes,
12
+ PressureObserver observer
13
13
  );
14
14
 
15
- enum ComputePressureSource { "cpu" };
15
+ enum PressureSource { "cpu" };
16
16
 
17
17
  [Exposed=(DedicatedWorker,SharedWorker,Window), SecureContext]
18
- interface ComputePressureObserver {
19
- constructor(ComputePressureUpdateCallback callback, optional ComputePressureObserverOptions options = {});
18
+ interface PressureObserver {
19
+ constructor(PressureUpdateCallback callback, optional PressureObserverOptions options = {});
20
20
 
21
- undefined observe(ComputePressureSource source);
22
- undefined unobserve(ComputePressureSource source);
21
+ undefined observe(PressureSource source);
22
+ undefined unobserve(PressureSource source);
23
23
  undefined disconnect();
24
- sequence<ComputePressureRecord> takeRecords();
24
+ sequence<PressureRecord> takeRecords();
25
25
 
26
- [SameObject] static readonly attribute FrozenArray<ComputePressureSource> supportedSources;
26
+ [SameObject] static readonly attribute FrozenArray<PressureSource> supportedSources;
27
27
 
28
28
  [Exposed=Window] static Promise<PermissionState> requestPermission();
29
29
  };
30
30
 
31
- dictionary ComputePressureRecord {
32
- ComputePressureSource source;
33
- ComputePressureState state;
34
- sequence<ComputePressureFactor> factors;
31
+ dictionary PressureRecord {
32
+ PressureSource source;
33
+ PressureState state;
34
+ sequence<PressureFactor> factors;
35
35
  DOMHighResTimeStamp time;
36
36
  };
37
37
 
38
- dictionary ComputePressureObserverOptions {
38
+ dictionary PressureObserverOptions {
39
39
  double frequency;
40
40
  };
@@ -9,7 +9,7 @@ partial interface CSSRule {
9
9
 
10
10
  [Exposed=Window]
11
11
  interface CSSConditionRule : CSSGroupingRule {
12
- attribute CSSOMString conditionText;
12
+ readonly attribute CSSOMString conditionText;
13
13
  };
14
14
 
15
15
  [Exposed=Window]
package/cssom-view.idl CHANGED
@@ -101,7 +101,10 @@ dictionary ScrollIntoViewOptions : ScrollOptions {
101
101
  };
102
102
 
103
103
  dictionary IsVisibleOptions {
104
-
104
+ boolean checkAriaHidden = false;
105
+ boolean checkInert = false;
106
+ boolean checkOpacity = false;
107
+ boolean checkVisibilityCSS = false;
105
108
  };
106
109
 
107
110
  partial interface Element {
@@ -17,78 +17,12 @@ dictionary FileSystemHandlePermissionDescriptor {
17
17
  FileSystemPermissionMode mode = "read";
18
18
  };
19
19
 
20
- enum FileSystemHandleKind {
21
- "file",
22
- "directory",
23
- };
24
-
25
20
  [Exposed=(Window,Worker), SecureContext, Serializable]
26
- interface FileSystemHandle {
27
- readonly attribute FileSystemHandleKind kind;
28
- readonly attribute USVString name;
29
-
30
- Promise<boolean> isSameEntry(FileSystemHandle other);
31
-
21
+ partial interface FileSystemHandle {
32
22
  Promise<PermissionState> queryPermission(optional FileSystemHandlePermissionDescriptor descriptor = {});
33
23
  Promise<PermissionState> requestPermission(optional FileSystemHandlePermissionDescriptor descriptor = {});
34
24
  };
35
25
 
36
- dictionary FileSystemCreateWritableOptions {
37
- boolean keepExistingData = false;
38
- };
39
-
40
- [Exposed=(Window,Worker), SecureContext, Serializable]
41
- interface FileSystemFileHandle : FileSystemHandle {
42
- Promise<File> getFile();
43
- Promise<FileSystemWritableFileStream> createWritable(optional FileSystemCreateWritableOptions options = {});
44
- };
45
-
46
- dictionary FileSystemGetFileOptions {
47
- boolean create = false;
48
- };
49
-
50
- dictionary FileSystemGetDirectoryOptions {
51
- boolean create = false;
52
- };
53
-
54
- dictionary FileSystemRemoveOptions {
55
- boolean recursive = false;
56
- };
57
-
58
- [Exposed=(Window,Worker), SecureContext, Serializable]
59
- interface FileSystemDirectoryHandle : FileSystemHandle {
60
- async iterable<USVString, FileSystemHandle>;
61
-
62
- Promise<FileSystemFileHandle> getFileHandle(USVString name, optional FileSystemGetFileOptions options = {});
63
- Promise<FileSystemDirectoryHandle> getDirectoryHandle(USVString name, optional FileSystemGetDirectoryOptions options = {});
64
-
65
- Promise<undefined> removeEntry(USVString name, optional FileSystemRemoveOptions options = {});
66
-
67
- Promise<sequence<USVString>?> resolve(FileSystemHandle possibleDescendant);
68
- };
69
-
70
- enum WriteCommandType {
71
- "write",
72
- "seek",
73
- "truncate",
74
- };
75
-
76
- dictionary WriteParams {
77
- required WriteCommandType type;
78
- unsigned long long? size;
79
- unsigned long long? position;
80
- (BufferSource or Blob or USVString)? data;
81
- };
82
-
83
- typedef (BufferSource or Blob or USVString or WriteParams) FileSystemWriteChunkType;
84
-
85
- [Exposed=(Window,Worker), SecureContext]
86
- interface FileSystemWritableFileStream : WritableStream {
87
- Promise<undefined> write(FileSystemWriteChunkType data);
88
- Promise<undefined> seek(unsigned long long position);
89
- Promise<undefined> truncate(unsigned long long size);
90
- };
91
-
92
26
  enum WellKnownDirectory {
93
27
  "desktop",
94
28
  "documents",
@@ -135,8 +69,3 @@ partial interface Window {
135
69
  partial interface DataTransferItem {
136
70
  Promise<FileSystemHandle?> getAsFileSystemHandle();
137
71
  };
138
-
139
- [SecureContext]
140
- partial interface StorageManager {
141
- Promise<FileSystemDirectoryHandle> getDirectory();
142
- };
package/fs.idl ADDED
@@ -0,0 +1,78 @@
1
+ // GENERATED CONTENT - DO NOT EDIT
2
+ // Content was automatically extracted by Reffy into webref
3
+ // (https://github.com/w3c/webref)
4
+ // Source: File System Standard (https://fs.spec.whatwg.org/)
5
+
6
+ enum FileSystemHandleKind {
7
+ "file",
8
+ "directory",
9
+ };
10
+
11
+ [Exposed=(Window,Worker), SecureContext, Serializable]
12
+ interface FileSystemHandle {
13
+ readonly attribute FileSystemHandleKind kind;
14
+ readonly attribute USVString name;
15
+
16
+ Promise<boolean> isSameEntry(FileSystemHandle other);
17
+ };
18
+
19
+ dictionary FileSystemCreateWritableOptions {
20
+ boolean keepExistingData = false;
21
+ };
22
+
23
+ [Exposed=(Window,Worker), SecureContext, Serializable]
24
+ interface FileSystemFileHandle : FileSystemHandle {
25
+ Promise<File> getFile();
26
+ Promise<FileSystemWritableFileStream> createWritable(optional FileSystemCreateWritableOptions options = {});
27
+ };
28
+
29
+ dictionary FileSystemGetFileOptions {
30
+ boolean create = false;
31
+ };
32
+
33
+ dictionary FileSystemGetDirectoryOptions {
34
+ boolean create = false;
35
+ };
36
+
37
+ dictionary FileSystemRemoveOptions {
38
+ boolean recursive = false;
39
+ };
40
+
41
+ [Exposed=(Window,Worker), SecureContext, Serializable]
42
+ interface FileSystemDirectoryHandle : FileSystemHandle {
43
+ async iterable<USVString, FileSystemHandle>;
44
+
45
+ Promise<FileSystemFileHandle> getFileHandle(USVString name, optional FileSystemGetFileOptions options = {});
46
+ Promise<FileSystemDirectoryHandle> getDirectoryHandle(USVString name, optional FileSystemGetDirectoryOptions options = {});
47
+
48
+ Promise<undefined> removeEntry(USVString name, optional FileSystemRemoveOptions options = {});
49
+
50
+ Promise<sequence<USVString>?> resolve(FileSystemHandle possibleDescendant);
51
+ };
52
+
53
+ enum WriteCommandType {
54
+ "write",
55
+ "seek",
56
+ "truncate",
57
+ };
58
+
59
+ dictionary WriteParams {
60
+ required WriteCommandType type;
61
+ unsigned long long? size;
62
+ unsigned long long? position;
63
+ (BufferSource or Blob or USVString)? data;
64
+ };
65
+
66
+ typedef (BufferSource or Blob or USVString or WriteParams) FileSystemWriteChunkType;
67
+
68
+ [Exposed=(Window,Worker), SecureContext]
69
+ interface FileSystemWritableFileStream : WritableStream {
70
+ Promise<undefined> write(FileSystemWriteChunkType data);
71
+ Promise<undefined> seek(unsigned long long position);
72
+ Promise<undefined> truncate(unsigned long long size);
73
+ };
74
+
75
+ [SecureContext]
76
+ partial interface StorageManager {
77
+ Promise<FileSystemDirectoryHandle> getDirectory();
78
+ };
package/html.idl CHANGED
@@ -115,7 +115,7 @@ interface HTMLElement : Element {
115
115
  [CEReactions] attribute DOMString dir;
116
116
 
117
117
  // user interaction
118
- [CEReactions] attribute boolean hidden;
118
+ [CEReactions] attribute (boolean or unrestricted double or DOMString)? hidden;
119
119
  [CEReactions] attribute boolean inert;
120
120
  undefined click();
121
121
  [CEReactions] attribute DOMString accessKey;
@@ -225,6 +225,7 @@ interface HTMLMetaElement : HTMLElement {
225
225
  interface HTMLStyleElement : HTMLElement {
226
226
  [HTMLConstructor] constructor();
227
227
 
228
+ attribute boolean disabled;
228
229
  [CEReactions] attribute DOMString media;
229
230
  [SameObject, PutForwards=value] readonly attribute DOMTokenList blocking;
230
231
 
@@ -1898,6 +1899,7 @@ typedef OnBeforeUnloadEventHandlerNonNull? OnBeforeUnloadEventHandler;
1898
1899
  interface mixin GlobalEventHandlers {
1899
1900
  attribute EventHandler onabort;
1900
1901
  attribute EventHandler onauxclick;
1902
+ attribute EventHandler onbeforematch;
1901
1903
  attribute EventHandler onblur;
1902
1904
  attribute EventHandler oncancel;
1903
1905
  attribute EventHandler oncanplay;
@@ -4,23 +4,16 @@
4
4
  // Source: Local Font Access API (https://wicg.github.io/local-font-access/)
5
5
 
6
6
  [SecureContext]
7
- interface mixin NavigatorFonts {
8
- [SameObject] readonly attribute FontManager fonts;
9
- };
10
- Navigator includes NavigatorFonts;
11
-
12
- [SecureContext,
13
- Exposed=Window]
14
- interface FontManager {
15
- Promise<sequence<FontMetadata>> query(optional QueryOptions options = {});
7
+ partial interface Window {
8
+ Promise<sequence<FontData>> queryLocalFonts(optional QueryOptions options = {});
16
9
  };
17
10
 
18
11
  dictionary QueryOptions {
19
- sequence<DOMString> select = [];
12
+ sequence<DOMString> postscriptNames;
20
13
  };
21
14
 
22
15
  [Exposed=Window]
23
- interface FontMetadata {
16
+ interface FontData {
24
17
  Promise<Blob> blob();
25
18
 
26
19
  // Names
@@ -39,6 +39,7 @@ dictionary VideoConfiguration {
39
39
  ColorGamut colorGamut;
40
40
  TransferFunction transferFunction;
41
41
  DOMString scalabilityMode;
42
+ boolean spatialScalability;
42
43
  };
43
44
 
44
45
  enum HdrMetadataType {
@@ -0,0 +1,31 @@
1
+ // GENERATED CONTENT - DO NOT EDIT
2
+ // Content was automatically extracted by Reffy into webref
3
+ // (https://github.com/w3c/webref)
4
+ // Source: The Capture-Handle Actions Mechanism (https://w3c.github.io/mediacapture-handle/actions/)
5
+
6
+ partial interface MediaDevices {
7
+ undefined setSupportedCaptureActions(sequence<DOMString> actions);
8
+ attribute EventHandler oncaptureaction;
9
+ };
10
+
11
+ enum CaptureAction {
12
+ "next",
13
+ "previous",
14
+ "first",
15
+ "last"
16
+ };
17
+
18
+ [Exposed=Window]
19
+ interface CaptureActionEvent : Event {
20
+ constructor(optional CaptureActionEventInit init = {});
21
+ readonly attribute CaptureAction action;
22
+ };
23
+
24
+ dictionary CaptureActionEventInit : EventInit {
25
+ DOMString action;
26
+ };
27
+
28
+ partial interface MediaStreamTrack {
29
+ sequence<DOMString> getSupportedCaptureActions();
30
+ Promise<undefined> sendCaptureAction(CaptureAction action);
31
+ };
@@ -0,0 +1,37 @@
1
+ // GENERATED CONTENT - DO NOT EDIT
2
+ // Content was automatically extracted by Reffy into webref
3
+ // (https://github.com/w3c/webref)
4
+ // Source: Capture Handle - Bootstrapping Collaboration when Screensharing (https://w3c.github.io/mediacapture-handle/identity/)
5
+
6
+ dictionary CaptureHandleConfig {
7
+ boolean exposeOrigin = false;
8
+ DOMString handle = "";
9
+ sequence<DOMString> permittedOrigins = [];
10
+ };
11
+
12
+ partial interface MediaDevices {
13
+ undefined setCaptureHandleConfig(optional CaptureHandleConfig config = {});
14
+ };
15
+
16
+ dictionary CaptureHandle {
17
+ DOMString origin;
18
+ DOMString handle;
19
+ };
20
+
21
+ partial interface MediaStreamTrack {
22
+ CaptureHandle? getCaptureHandle();
23
+ };
24
+
25
+ [Exposed=Window]
26
+ interface CaptureHandleChangeEvent : Event {
27
+ constructor(optional CaptureHandleChangeEventInit init = {});
28
+ [SameObject] CaptureHandle captureHandle();
29
+ };
30
+
31
+ dictionary CaptureHandleChangeEventInit : EventInit {
32
+ CaptureHandle captureHandle;
33
+ };
34
+
35
+ partial interface MediaStreamTrack {
36
+ attribute EventHandler oncapturehandlechange;
37
+ };
@@ -3,14 +3,14 @@
3
3
  // (https://github.com/w3c/webref)
4
4
  // Source: Region Capture (https://w3c.github.io/mediacapture-region/)
5
5
 
6
- [Exposed = Window]
6
+ [Exposed=(Window,Worker), Serializable]
7
7
  interface CropTarget {
8
8
  // Intentionally empty; just an opaque identifier.
9
9
  };
10
10
 
11
11
  partial interface MediaDevices {
12
12
  Promise<CropTarget>
13
- produceCropTarget(HTMLElement element);
13
+ produceCropTarget(Element element);
14
14
  };
15
15
 
16
16
  [Exposed = Window]
@@ -40,7 +40,7 @@ dictionary NavigationOptions {
40
40
 
41
41
  dictionary NavigationNavigateOptions : NavigationOptions {
42
42
  any state;
43
- boolean replace = false;
43
+ NavigationHistoryBehavior history = "auto";
44
44
  };
45
45
 
46
46
  dictionary NavigationReloadOptions : NavigationOptions {
@@ -52,57 +52,79 @@ dictionary NavigationResult {
52
52
  Promise<NavigationHistoryEntry> finished;
53
53
  };
54
54
 
55
+ enum NavigationHistoryBehavior {
56
+ "auto",
57
+ "push",
58
+ "replace"
59
+ };
60
+
55
61
  [Exposed=Window]
56
62
  interface NavigationCurrentEntryChangeEvent : Event {
57
63
  constructor(DOMString type, NavigationCurrentEntryChangeEventInit eventInit);
58
64
 
59
- readonly attribute NavigationNavigationType? navigationType;
65
+ readonly attribute NavigationType? navigationType;
60
66
  readonly attribute NavigationHistoryEntry from;
61
67
  };
62
68
 
63
69
  dictionary NavigationCurrentEntryChangeEventInit : EventInit {
64
- NavigationNavigationType? navigationType = null;
70
+ NavigationType? navigationType = null;
65
71
  required NavigationHistoryEntry destination;
66
72
  };
67
73
 
68
74
  [Exposed=Window]
69
75
  interface NavigationTransition {
70
- readonly attribute NavigationNavigationType navigationType;
76
+ readonly attribute NavigationType navigationType;
71
77
  readonly attribute NavigationHistoryEntry from;
72
78
  readonly attribute Promise<undefined> finished;
73
-
74
- NavigationResult rollback(optional NavigationOptions options = {});
75
79
  };
76
80
 
77
81
  [Exposed=Window]
78
82
  interface NavigateEvent : Event {
79
83
  constructor(DOMString type, NavigateEventInit eventInit);
80
84
 
81
- readonly attribute NavigationNavigationType navigationType;
85
+ readonly attribute NavigationType navigationType;
82
86
  readonly attribute NavigationDestination destination;
83
87
  readonly attribute boolean canTransition;
84
88
  readonly attribute boolean userInitiated;
85
89
  readonly attribute boolean hashChange;
86
90
  readonly attribute AbortSignal signal;
87
91
  readonly attribute FormData? formData;
92
+ readonly attribute DOMString? downloadRequest;
88
93
  readonly attribute any info;
89
94
 
90
- undefined transitionWhile(Promise<undefined> newNavigationAction);
95
+ undefined transitionWhile(Promise<undefined> newNavigationAction,
96
+ optional NavigationTransitionWhileOptions options = {});
97
+ undefined restoreScroll();
91
98
  };
92
99
 
93
100
  dictionary NavigateEventInit : EventInit {
94
- NavigationNavigationType navigationType = "push";
101
+ NavigationType navigationType = "push";
95
102
  required NavigationDestination destination;
96
103
  boolean canTransition = false;
97
104
  boolean userInitiated = false;
98
105
  boolean hashChange = false;
99
106
  required AbortSignal signal;
100
107
  FormData? formData = null;
108
+ DOMString? downloadRequest = null;
101
109
  any info;
102
110
  };
103
111
 
104
- // TODO: rename to NavigationType after https://github.com/w3c/navigation-timing/pull/172 lands.
105
- enum NavigationNavigationType {
112
+ dictionary NavigationTransitionWhileOptions {
113
+ NavigationFocusReset focusReset;
114
+ NavigationScrollRestoration scrollRestoration;
115
+ };
116
+
117
+ enum NavigationFocusReset {
118
+ "after-transition",
119
+ "manual"
120
+ };
121
+
122
+ enum NavigationScrollRestoration {
123
+ "after-transition",
124
+ "manual"
125
+ };
126
+
127
+ enum NavigationType {
106
128
  "reload",
107
129
  "push",
108
130
  "replace",
@@ -130,8 +152,5 @@ interface NavigationHistoryEntry : EventTarget {
130
152
 
131
153
  any getState();
132
154
 
133
- attribute EventHandler onnavigateto;
134
- attribute EventHandler onnavigatefrom;
135
- attribute EventHandler onfinish;
136
155
  attribute EventHandler ondispose;
137
156
  };
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.5.0",
4
+ "version": "3.7.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/w3c/webref.git"
package/reporting.idl CHANGED
@@ -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: Reporting API 1 (https://w3c.github.io/reporting/)
4
+ // Source: Reporting API (https://w3c.github.io/reporting/)
5
5
 
6
6
  [Exposed=(Window,Worker)]
7
7
  interface ReportBody {
@@ -7,9 +7,15 @@ partial interface MediaDevices {
7
7
  Promise<MediaStream> getDisplayMedia(optional DisplayMediaStreamConstraints constraints = {});
8
8
  };
9
9
 
10
+ enum SelfCapturePreferenceEnum {
11
+ "include",
12
+ "exclude"
13
+ };
14
+
10
15
  dictionary DisplayMediaStreamConstraints {
11
16
  (boolean or MediaTrackConstraints) video = true;
12
17
  (boolean or MediaTrackConstraints) audio = false;
18
+ SelfCapturePreferenceEnum selfBrowserSurface;
13
19
  };
14
20
 
15
21
  partial dictionary MediaTrackSupportedConstraints {
@@ -44,7 +50,6 @@ partial dictionary MediaTrackCapabilities {
44
50
  enum DisplayCaptureSurfaceType {
45
51
  "monitor",
46
52
  "window",
47
- "application",
48
53
  "browser"
49
54
  };
50
55
 
@@ -9,7 +9,8 @@ dictionary SecurePaymentConfirmationRequest {
9
9
  required FrozenArray<BufferSource> credentialIds;
10
10
  required PaymentCredentialInstrument instrument;
11
11
  unsigned long timeout;
12
- required USVString payeeOrigin;
12
+ DOMString payeeName;
13
+ USVString payeeOrigin;
13
14
  AuthenticationExtensionsClientInputs extensions;
14
15
  };
15
16
 
@@ -23,6 +24,7 @@ dictionary AuthenticationExtensionsPaymentInputs {
23
24
  // Only used for authentication.
24
25
  USVString rp;
25
26
  USVString topOrigin;
27
+ DOMString payeeName;
26
28
  USVString payeeOrigin;
27
29
  PaymentCurrencyAmount total;
28
30
  PaymentCredentialInstrument instrument;
@@ -35,7 +37,8 @@ dictionary CollectedClientPaymentData : CollectedClientData {
35
37
  dictionary CollectedClientAdditionalPaymentData {
36
38
  required USVString rp;
37
39
  required USVString topOrigin;
38
- required USVString payeeOrigin;
40
+ DOMString payeeName;
41
+ USVString payeeOrigin;
39
42
  required PaymentCurrencyAmount total;
40
43
  required PaymentCredentialInstrument instrument;
41
44
  };
package/web-bluetooth.idl CHANGED
@@ -89,6 +89,7 @@ interface BluetoothDevice : EventTarget {
89
89
  readonly attribute DOMString? name;
90
90
  readonly attribute BluetoothRemoteGATTServer? gatt;
91
91
 
92
+ Promise<undefined> forget();
92
93
  Promise<undefined> watchAdvertisements(
93
94
  optional WatchAdvertisementsOptions options = {});
94
95
  readonly attribute boolean watchingAdvertisements;
@@ -0,0 +1,8 @@
1
+ // GENERATED CONTENT - DO NOT EDIT
2
+ // Content was automatically extracted by Reffy into webref
3
+ // (https://github.com/w3c/webref)
4
+ // Source: Secure Curves in the Web Cryptography API (https://wicg.github.io/webcrypto-secure-curves/)
5
+
6
+ dictionary Ed448Params : Algorithm {
7
+ BufferSource context;
8
+ };
package/webgpu.idl CHANGED
@@ -96,6 +96,7 @@ enum GPUFeatureName {
96
96
  "texture-compression-astc",
97
97
  "timestamp-query",
98
98
  "indirect-first-instance",
99
+ "shader-f16",
99
100
  };
100
101
 
101
102
  [Exposed=(Window, DedicatedWorker), SecureContext]
@@ -570,7 +571,7 @@ dictionary GPUProgrammableStage {
570
571
  record<USVString, GPUPipelineConstantValue> constants;
571
572
  };
572
573
 
573
- typedef double GPUPipelineConstantValue; // May represent WGSL’s bool, f32, i32, u32.
574
+ typedef double GPUPipelineConstantValue; // May represent WGSL’s bool, f32, i32, u32, and f16 if enabled.
574
575
 
575
576
  [Exposed=(Window, DedicatedWorker), SecureContext]
576
577
  interface GPUComputePipeline {
@@ -871,7 +872,7 @@ dictionary GPUImageCopyExternalImage {
871
872
  boolean flipY = false;
872
873
  };
873
874
 
874
- interface mixin GPUProgrammablePassEncoder {
875
+ interface mixin GPUBindingCommandsMixin {
875
876
  undefined setBindGroup(GPUIndex32 index, GPUBindGroup bindGroup,
876
877
  optional sequence<GPUBufferDynamicOffset> dynamicOffsets = []);
877
878
 
@@ -890,15 +891,15 @@ interface mixin GPUDebugCommandsMixin {
890
891
  [Exposed=(Window, DedicatedWorker), SecureContext]
891
892
  interface GPUComputePassEncoder {
892
893
  undefined setPipeline(GPUComputePipeline pipeline);
893
- undefined dispatch(GPUSize32 workgroupCountX, optional GPUSize32 workgroupCountY = 1, optional GPUSize32 workgroupCountZ = 1);
894
- undefined dispatchIndirect(GPUBuffer indirectBuffer, GPUSize64 indirectOffset);
894
+ undefined dispatchWorkgroups(GPUSize32 workgroupCountX, optional GPUSize32 workgroupCountY = 1, optional GPUSize32 workgroupCountZ = 1);
895
+ undefined dispatchWorkgroupsIndirect(GPUBuffer indirectBuffer, GPUSize64 indirectOffset);
895
896
 
896
897
  undefined end();
897
898
  };
898
899
  GPUComputePassEncoder includes GPUObjectBase;
899
900
  GPUComputePassEncoder includes GPUCommandsMixin;
900
901
  GPUComputePassEncoder includes GPUDebugCommandsMixin;
901
- GPUComputePassEncoder includes GPUProgrammablePassEncoder;
902
+ GPUComputePassEncoder includes GPUBindingCommandsMixin;
902
903
 
903
904
  enum GPUComputePassTimestampLocation {
904
905
  "beginning",
@@ -917,23 +918,6 @@ dictionary GPUComputePassDescriptor : GPUObjectDescriptorBase {
917
918
  GPUComputePassTimestampWrites timestampWrites = [];
918
919
  };
919
920
 
920
- interface mixin GPURenderEncoderBase {
921
- undefined setPipeline(GPURenderPipeline pipeline);
922
-
923
- undefined setIndexBuffer(GPUBuffer buffer, GPUIndexFormat indexFormat, optional GPUSize64 offset = 0, optional GPUSize64 size);
924
- undefined setVertexBuffer(GPUIndex32 slot, GPUBuffer buffer, optional GPUSize64 offset = 0, optional GPUSize64 size);
925
-
926
- undefined draw(GPUSize32 vertexCount, optional GPUSize32 instanceCount = 1,
927
- optional GPUSize32 firstVertex = 0, optional GPUSize32 firstInstance = 0);
928
- undefined drawIndexed(GPUSize32 indexCount, optional GPUSize32 instanceCount = 1,
929
- optional GPUSize32 firstIndex = 0,
930
- optional GPUSignedOffset32 baseVertex = 0,
931
- optional GPUSize32 firstInstance = 0);
932
-
933
- undefined drawIndirect(GPUBuffer indirectBuffer, GPUSize64 indirectOffset);
934
- undefined drawIndexedIndirect(GPUBuffer indirectBuffer, GPUSize64 indirectOffset);
935
- };
936
-
937
921
  [Exposed=(Window, DedicatedWorker), SecureContext]
938
922
  interface GPURenderPassEncoder {
939
923
  undefined setViewport(float x, float y,
@@ -955,8 +939,8 @@ interface GPURenderPassEncoder {
955
939
  GPURenderPassEncoder includes GPUObjectBase;
956
940
  GPURenderPassEncoder includes GPUCommandsMixin;
957
941
  GPURenderPassEncoder includes GPUDebugCommandsMixin;
958
- GPURenderPassEncoder includes GPUProgrammablePassEncoder;
959
- GPURenderPassEncoder includes GPURenderEncoderBase;
942
+ GPURenderPassEncoder includes GPUBindingCommandsMixin;
943
+ GPURenderPassEncoder includes GPURenderCommandsMixin;
960
944
 
961
945
  enum GPURenderPassTimestampLocation {
962
946
  "beginning",
@@ -1017,6 +1001,23 @@ dictionary GPURenderPassLayout: GPUObjectDescriptorBase {
1017
1001
  GPUSize32 sampleCount = 1;
1018
1002
  };
1019
1003
 
1004
+ interface mixin GPURenderCommandsMixin {
1005
+ undefined setPipeline(GPURenderPipeline pipeline);
1006
+
1007
+ undefined setIndexBuffer(GPUBuffer buffer, GPUIndexFormat indexFormat, optional GPUSize64 offset = 0, optional GPUSize64 size);
1008
+ undefined setVertexBuffer(GPUIndex32 slot, GPUBuffer buffer, optional GPUSize64 offset = 0, optional GPUSize64 size);
1009
+
1010
+ undefined draw(GPUSize32 vertexCount, optional GPUSize32 instanceCount = 1,
1011
+ optional GPUSize32 firstVertex = 0, optional GPUSize32 firstInstance = 0);
1012
+ undefined drawIndexed(GPUSize32 indexCount, optional GPUSize32 instanceCount = 1,
1013
+ optional GPUSize32 firstIndex = 0,
1014
+ optional GPUSignedOffset32 baseVertex = 0,
1015
+ optional GPUSize32 firstInstance = 0);
1016
+
1017
+ undefined drawIndirect(GPUBuffer indirectBuffer, GPUSize64 indirectOffset);
1018
+ undefined drawIndexedIndirect(GPUBuffer indirectBuffer, GPUSize64 indirectOffset);
1019
+ };
1020
+
1020
1021
  [Exposed=(Window, DedicatedWorker), SecureContext]
1021
1022
  interface GPURenderBundle {
1022
1023
  };
@@ -1032,8 +1033,8 @@ interface GPURenderBundleEncoder {
1032
1033
  GPURenderBundleEncoder includes GPUObjectBase;
1033
1034
  GPURenderBundleEncoder includes GPUCommandsMixin;
1034
1035
  GPURenderBundleEncoder includes GPUDebugCommandsMixin;
1035
- GPURenderBundleEncoder includes GPUProgrammablePassEncoder;
1036
- GPURenderBundleEncoder includes GPURenderEncoderBase;
1036
+ GPURenderBundleEncoder includes GPUBindingCommandsMixin;
1037
+ GPURenderBundleEncoder includes GPURenderCommandsMixin;
1037
1038
 
1038
1039
  dictionary GPURenderBundleEncoderDescriptor : GPURenderPassLayout {
1039
1040
  boolean depthReadOnly = false;
package/webhid.idl CHANGED
@@ -18,6 +18,7 @@ interface HID : EventTarget {
18
18
 
19
19
  dictionary HIDDeviceRequestOptions {
20
20
  required sequence<HIDDeviceFilter> filters;
21
+ sequence<HIDDeviceFilter> exclusionFilters;
21
22
  };
22
23
 
23
24
  dictionary HIDDeviceFilter {
package/webtransport.idl CHANGED
@@ -21,6 +21,7 @@ interface WebTransport {
21
21
 
22
22
  Promise<WebTransportStats> getStats();
23
23
  readonly attribute Promise<undefined> ready;
24
+ readonly attribute WebTransportReliabilityMode reliability;
24
25
  readonly attribute Promise<WebTransportCloseInfo> closed;
25
26
  undefined close(optional WebTransportCloseInfo closeInfo = {});
26
27
 
@@ -35,13 +36,20 @@ interface WebTransport {
35
36
  readonly attribute ReadableStream incomingUnidirectionalStreams;
36
37
  };
37
38
 
39
+ enum WebTransportReliabilityMode {
40
+ "pending",
41
+ "reliable-only",
42
+ "supports-unreliable",
43
+ };
44
+
38
45
  dictionary WebTransportHash {
39
46
  DOMString algorithm;
40
47
  BufferSource value;
41
48
  };
42
49
 
43
50
  dictionary WebTransportOptions {
44
- boolean allowPooling;
51
+ boolean allowPooling = false;
52
+ boolean requireUnreliable = false;
45
53
  sequence<WebTransportHash> serverCertificateHashes;
46
54
  };
47
55
 
@@ -62,7 +70,14 @@ dictionary WebTransportStats {
62
70
  DOMHighResTimeStamp smoothedRtt;
63
71
  DOMHighResTimeStamp rttVariation;
64
72
  DOMHighResTimeStamp minRtt;
65
- unsigned long numReceivedDatagramsDropped;
73
+ WebTransportDatagramStats datagrams;
74
+ };
75
+
76
+ dictionary WebTransportDatagramStats {
77
+ DOMHighResTimeStamp timestamp;
78
+ unsigned long long expiredOutgoing;
79
+ unsigned long long droppedIncoming;
80
+ unsigned long long lostOutgoing;
66
81
  };
67
82
 
68
83
  [Exposed=(Window,Worker), SecureContext]