Sync interfaces/ with @webref/idl 3.7.1
diff --git a/interfaces/html.idl b/interfaces/html.idl
index 53d02af..0642428 100644
--- a/interfaces/html.idl
+++ b/interfaces/html.idl
@@ -225,6 +225,7 @@
 interface HTMLStyleElement : HTMLElement {
   [HTMLConstructor] constructor();
 
+  attribute boolean disabled;
   [CEReactions] attribute DOMString media;
   [SameObject, PutForwards=value] readonly attribute DOMTokenList blocking;
 
diff --git a/interfaces/manifest-incubations.idl b/interfaces/manifest-incubations.idl
index bab3998..5342b61 100644
--- a/interfaces/manifest-incubations.idl
+++ b/interfaces/manifest-incubations.idl
@@ -22,3 +22,18 @@
   attribute EventHandler onappinstalled;
   attribute EventHandler onbeforeinstallprompt;
 };
+
+[Exposed=Window] interface LaunchParams {
+  readonly attribute DOMString? targetURL;
+  readonly attribute FrozenArray<FileSystemHandle> files;
+};
+
+callback LaunchConsumer = any (LaunchParams params);
+
+partial interface Window {
+  readonly attribute LaunchQueue launchQueue;
+};
+
+[Exposed=Window] interface LaunchQueue {
+  undefined setConsumer(LaunchConsumer consumer);
+};
diff --git a/interfaces/navigation-api.idl b/interfaces/navigation-api.idl
index f192c8f..5d2f2a8 100644
--- a/interfaces/navigation-api.idl
+++ b/interfaces/navigation-api.idl
@@ -76,8 +76,6 @@
   readonly attribute NavigationType navigationType;
   readonly attribute NavigationHistoryEntry from;
   readonly attribute Promise<undefined> finished;
-
-  NavigationResult rollback(optional NavigationOptions options = {});
 };
 
 [Exposed=Window]
@@ -154,8 +152,5 @@
 
   any getState();
 
-  attribute EventHandler onnavigateto;
-  attribute EventHandler onnavigatefrom;
-  attribute EventHandler onfinish;
   attribute EventHandler ondispose;
 };
diff --git a/interfaces/requestidlecallback.idl b/interfaces/requestidlecallback.idl
index fc21145..9c49aa1 100644
--- a/interfaces/requestidlecallback.idl
+++ b/interfaces/requestidlecallback.idl
@@ -1,7 +1,7 @@
 // GENERATED CONTENT - DO NOT EDIT
 // Content was automatically extracted by Reffy into webref
 // (https://github.com/w3c/webref)
-// Source: Cooperative Scheduling of Background Tasks (https://w3c.github.io/requestidlecallback/)
+// Source: requestIdleCallback() (https://w3c.github.io/requestidlecallback/)
 
 partial interface Window {
   unsigned long requestIdleCallback(IdleRequestCallback callback, optional IdleRequestOptions options = {});
diff --git a/interfaces/screen-capture.idl b/interfaces/screen-capture.idl
index 5fb7eb8..f2b3d42 100644
--- a/interfaces/screen-capture.idl
+++ b/interfaces/screen-capture.idl
@@ -7,9 +7,15 @@
   Promise<MediaStream> getDisplayMedia(optional DisplayMediaStreamConstraints constraints = {});
 };
 
+enum SelfCapturePreferenceEnum {
+  "include",
+  "exclude"
+};
+
 dictionary DisplayMediaStreamConstraints {
   (boolean or MediaTrackConstraints) video = true;
   (boolean or MediaTrackConstraints) audio = false;
+  SelfCapturePreferenceEnum selfBrowserSurface;
 };
 
 partial dictionary MediaTrackSupportedConstraints {
@@ -44,7 +50,6 @@
 enum DisplayCaptureSurfaceType {
   "monitor",
   "window",
-  "application",
   "browser"
 };
 
diff --git a/interfaces/serial.idl b/interfaces/serial.idl
index 8612f6f..8a1231a 100644
--- a/interfaces/serial.idl
+++ b/interfaces/serial.idl
@@ -43,6 +43,7 @@
   Promise<undefined> setSignals(optional SerialOutputSignals signals = {});
   Promise<SerialInputSignals> getSignals();
   Promise<undefined> close();
+  Promise<undefined> forget();
 };
 
 dictionary SerialPortInfo {
diff --git a/interfaces/web-bluetooth.idl b/interfaces/web-bluetooth.idl
index fbd0297..21c2370 100644
--- a/interfaces/web-bluetooth.idl
+++ b/interfaces/web-bluetooth.idl
@@ -89,6 +89,7 @@
   readonly attribute DOMString? name;
   readonly attribute BluetoothRemoteGATTServer? gatt;
 
+  Promise<undefined> forget();
   Promise<undefined> watchAdvertisements(
       optional WatchAdvertisementsOptions options = {});
   readonly attribute boolean watchingAdvertisements;
diff --git a/interfaces/webcrypto-secure-curves.idl b/interfaces/webcrypto-secure-curves.idl
new file mode 100644
index 0000000..01bb290
--- /dev/null
+++ b/interfaces/webcrypto-secure-curves.idl
@@ -0,0 +1,8 @@
+// GENERATED CONTENT - DO NOT EDIT
+// Content was automatically extracted by Reffy into webref
+// (https://github.com/w3c/webref)
+// Source: Secure Curves in the Web Cryptography API (https://wicg.github.io/webcrypto-secure-curves/)
+
+dictionary Ed448Params : Algorithm {
+  BufferSource context;
+};
diff --git a/interfaces/webgpu.idl b/interfaces/webgpu.idl
index 2780559..07d3ac0 100644
--- a/interfaces/webgpu.idl
+++ b/interfaces/webgpu.idl
@@ -96,6 +96,7 @@
     "texture-compression-astc",
     "timestamp-query",
     "indirect-first-instance",
+    "shader-f16",
 };
 
 [Exposed=(Window, DedicatedWorker), SecureContext]
@@ -570,7 +571,7 @@
     record<USVString, GPUPipelineConstantValue> constants;
 };
 
-typedef double GPUPipelineConstantValue; // May represent WGSL’s bool, f32, i32, u32.
+typedef double GPUPipelineConstantValue; // May represent WGSL’s bool, f32, i32, u32, and f16 if enabled.
 
 [Exposed=(Window, DedicatedWorker), SecureContext]
 interface GPUComputePipeline {
@@ -871,7 +872,7 @@
     boolean flipY = false;
 };
 
-interface mixin GPUProgrammablePassEncoder {
+interface mixin GPUBindingCommandsMixin {
     undefined setBindGroup(GPUIndex32 index, GPUBindGroup bindGroup,
                       optional sequence<GPUBufferDynamicOffset> dynamicOffsets = []);
 
@@ -898,7 +899,7 @@
 GPUComputePassEncoder includes GPUObjectBase;
 GPUComputePassEncoder includes GPUCommandsMixin;
 GPUComputePassEncoder includes GPUDebugCommandsMixin;
-GPUComputePassEncoder includes GPUProgrammablePassEncoder;
+GPUComputePassEncoder includes GPUBindingCommandsMixin;
 
 enum GPUComputePassTimestampLocation {
     "beginning",
@@ -917,23 +918,6 @@
     GPUComputePassTimestampWrites timestampWrites = [];
 };
 
-interface mixin GPURenderEncoderBase {
-    undefined setPipeline(GPURenderPipeline pipeline);
-
-    undefined setIndexBuffer(GPUBuffer buffer, GPUIndexFormat indexFormat, optional GPUSize64 offset = 0, optional GPUSize64 size);
-    undefined setVertexBuffer(GPUIndex32 slot, GPUBuffer buffer, optional GPUSize64 offset = 0, optional GPUSize64 size);
-
-    undefined draw(GPUSize32 vertexCount, optional GPUSize32 instanceCount = 1,
-              optional GPUSize32 firstVertex = 0, optional GPUSize32 firstInstance = 0);
-    undefined drawIndexed(GPUSize32 indexCount, optional GPUSize32 instanceCount = 1,
-                     optional GPUSize32 firstIndex = 0,
-                     optional GPUSignedOffset32 baseVertex = 0,
-                     optional GPUSize32 firstInstance = 0);
-
-    undefined drawIndirect(GPUBuffer indirectBuffer, GPUSize64 indirectOffset);
-    undefined drawIndexedIndirect(GPUBuffer indirectBuffer, GPUSize64 indirectOffset);
-};
-
 [Exposed=(Window, DedicatedWorker), SecureContext]
 interface GPURenderPassEncoder {
     undefined setViewport(float x, float y,
@@ -955,8 +939,8 @@
 GPURenderPassEncoder includes GPUObjectBase;
 GPURenderPassEncoder includes GPUCommandsMixin;
 GPURenderPassEncoder includes GPUDebugCommandsMixin;
-GPURenderPassEncoder includes GPUProgrammablePassEncoder;
-GPURenderPassEncoder includes GPURenderEncoderBase;
+GPURenderPassEncoder includes GPUBindingCommandsMixin;
+GPURenderPassEncoder includes GPURenderCommandsMixin;
 
 enum GPURenderPassTimestampLocation {
     "beginning",
@@ -1017,6 +1001,23 @@
     GPUSize32 sampleCount = 1;
 };
 
+interface mixin GPURenderCommandsMixin {
+    undefined setPipeline(GPURenderPipeline pipeline);
+
+    undefined setIndexBuffer(GPUBuffer buffer, GPUIndexFormat indexFormat, optional GPUSize64 offset = 0, optional GPUSize64 size);
+    undefined setVertexBuffer(GPUIndex32 slot, GPUBuffer buffer, optional GPUSize64 offset = 0, optional GPUSize64 size);
+
+    undefined draw(GPUSize32 vertexCount, optional GPUSize32 instanceCount = 1,
+              optional GPUSize32 firstVertex = 0, optional GPUSize32 firstInstance = 0);
+    undefined drawIndexed(GPUSize32 indexCount, optional GPUSize32 instanceCount = 1,
+                     optional GPUSize32 firstIndex = 0,
+                     optional GPUSignedOffset32 baseVertex = 0,
+                     optional GPUSize32 firstInstance = 0);
+
+    undefined drawIndirect(GPUBuffer indirectBuffer, GPUSize64 indirectOffset);
+    undefined drawIndexedIndirect(GPUBuffer indirectBuffer, GPUSize64 indirectOffset);
+};
+
 [Exposed=(Window, DedicatedWorker), SecureContext]
 interface GPURenderBundle {
 };
@@ -1032,8 +1033,8 @@
 GPURenderBundleEncoder includes GPUObjectBase;
 GPURenderBundleEncoder includes GPUCommandsMixin;
 GPURenderBundleEncoder includes GPUDebugCommandsMixin;
-GPURenderBundleEncoder includes GPUProgrammablePassEncoder;
-GPURenderBundleEncoder includes GPURenderEncoderBase;
+GPURenderBundleEncoder includes GPUBindingCommandsMixin;
+GPURenderBundleEncoder includes GPURenderCommandsMixin;
 
 dictionary GPURenderBundleEncoderDescriptor : GPURenderPassLayout {
     boolean depthReadOnly = false;