3.37.0
diff --git a/README.md b/README.md
index 4873332..c49097a 100644
--- a/README.md
+++ b/README.md
@@ -36,7 +36,7 @@
 Based on:
 
 <!-- START updated by tool/update_bindings.dart. Do not modify by hand -->
-- @webref/idl [3.39.1](https://www.npmjs.com/package/@webref/idl/v/3.39.1)
+- @webref/idl [3.37.0](https://www.npmjs.com/package/@webref/idl/v/3.37.0)
 - @webref/css [6.10.0](https://www.npmjs.com/package/@webref/css/v/6.10.0)
 <!-- END updated by tool/update_bindings.dart. Do not modify by hand -->
 
diff --git a/lib/src/dom.dart b/lib/src/dom.dart
index 74c5526..fbb21aa 100644
--- a/lib/src/dom.dart
+++ b/lib/src/dom.dart
@@ -8,7 +8,6 @@
 export 'dom/angle_instanced_arrays.dart';
 export 'dom/attribution_reporting_api.dart';
 export 'dom/audio_output.dart';
-export 'dom/audio_session.dart';
 export 'dom/autoplay_detection.dart';
 export 'dom/background_fetch.dart';
 export 'dom/background_sync.dart';
@@ -16,6 +15,7 @@
 export 'dom/capture_handle_identity.dart';
 export 'dom/captured_mouse_events.dart';
 export 'dom/clipboard_apis.dart';
+export 'dom/close_watcher.dart';
 export 'dom/compression.dart';
 export 'dom/compute_pressure.dart';
 export 'dom/console.dart';
@@ -52,7 +52,6 @@
 export 'dom/css_transitions_2.dart';
 export 'dom/css_typed_om.dart';
 export 'dom/css_view_transitions.dart';
-export 'dom/css_view_transitions_2.dart';
 export 'dom/cssom.dart';
 export 'dom/cssom_view.dart';
 export 'dom/custom_state_pseudo_class.dart';
@@ -64,7 +63,6 @@
 export 'dom/dom.dart';
 export 'dom/dom_parsing.dart';
 export 'dom/edit_context.dart';
-export 'dom/element_capture.dart';
 export 'dom/element_timing.dart';
 export 'dom/encoding.dart';
 export 'dom/encrypted_media.dart';
@@ -166,7 +164,6 @@
 export 'dom/pointerevents.dart';
 export 'dom/portals.dart';
 export 'dom/presentation_api.dart';
-export 'dom/private_network_access.dart';
 export 'dom/proximity.dart';
 export 'dom/push_api.dart';
 export 'dom/raw_camera_access.dart';
diff --git a/lib/src/dom/audio_session.dart b/lib/src/dom/audio_session.dart
deleted file mode 100644
index 2799ad1..0000000
--- a/lib/src/dom/audio_session.dart
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-// Generated from Web IDL definitions.
-
-import 'dart:js_interop';
-
-import 'dom.dart';
-import 'html.dart';
-
-typedef AudioSessionState = String;
-typedef AudioSessionType = String;
-
-@JS('AudioSession')
-@staticInterop
-class AudioSession implements EventTarget {}
-
-extension AudioSessionExtension on AudioSession {
-  external set type(AudioSessionType value);
-  external AudioSessionType get type;
-  external AudioSessionState get state;
-  external set onstatechange(EventHandler value);
-  external EventHandler get onstatechange;
-}
diff --git a/lib/src/dom/clipboard_apis.dart b/lib/src/dom/clipboard_apis.dart
index 1a6d6fc..88e25ab 100644
--- a/lib/src/dom/clipboard_apis.dart
+++ b/lib/src/dom/clipboard_apis.dart
@@ -46,8 +46,6 @@
     JSAny items, [
     ClipboardItemOptions options,
   ]);
-
-  external static bool supports(String type);
 }
 
 extension ClipboardItemExtension on ClipboardItem {
diff --git a/lib/src/dom/close_watcher.dart b/lib/src/dom/close_watcher.dart
new file mode 100644
index 0000000..54fcdd7
--- /dev/null
+++ b/lib/src/dom/close_watcher.dart
@@ -0,0 +1,37 @@
+// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// Generated from Web IDL definitions.
+
+import 'dart:js_interop';
+
+import 'dom.dart';
+import 'html.dart';
+
+@JS('CloseWatcher')
+@staticInterop
+class CloseWatcher implements EventTarget {
+  external factory CloseWatcher([CloseWatcherOptions options]);
+}
+
+extension CloseWatcherExtension on CloseWatcher {
+  external void destroy();
+  external void close();
+  external set oncancel(EventHandler value);
+  external EventHandler get oncancel;
+  external set onclose(EventHandler value);
+  external EventHandler get onclose;
+}
+
+@JS()
+@staticInterop
+@anonymous
+class CloseWatcherOptions {
+  external factory CloseWatcherOptions({AbortSignal signal});
+}
+
+extension CloseWatcherOptionsExtension on CloseWatcherOptions {
+  external set signal(AbortSignal value);
+  external AbortSignal get signal;
+}
diff --git a/lib/src/dom/cookie_store.dart b/lib/src/dom/cookie_store.dart
index a4dec17..5e0fd7c 100644
--- a/lib/src/dom/cookie_store.dart
+++ b/lib/src/dom/cookie_store.dart
@@ -58,7 +58,6 @@
     String? domain,
     String path,
     CookieSameSite sameSite,
-    bool partitioned,
   });
 }
 
@@ -75,8 +74,6 @@
   external String get path;
   external set sameSite(CookieSameSite value);
   external CookieSameSite get sameSite;
-  external set partitioned(bool value);
-  external bool get partitioned;
 }
 
 @JS()
@@ -87,7 +84,6 @@
     required String name,
     String? domain,
     String path,
-    bool partitioned,
   });
 }
 
@@ -98,8 +94,6 @@
   external String? get domain;
   external set path(String value);
   external String get path;
-  external set partitioned(bool value);
-  external bool get partitioned;
 }
 
 @JS()
@@ -114,7 +108,6 @@
     DOMHighResTimeStamp? expires,
     bool secure,
     CookieSameSite sameSite,
-    bool partitioned,
   });
 }
 
@@ -133,8 +126,6 @@
   external bool get secure;
   external set sameSite(CookieSameSite value);
   external CookieSameSite get sameSite;
-  external set partitioned(bool value);
-  external bool get partitioned;
 }
 
 @JS('CookieStoreManager')
diff --git a/lib/src/dom/css_font_loading.dart b/lib/src/dom/css_font_loading.dart
index 947d582..de722d3 100644
--- a/lib/src/dom/css_font_loading.dart
+++ b/lib/src/dom/css_font_loading.dart
@@ -22,6 +22,7 @@
     String weight,
     String stretch,
     String unicodeRange,
+    String variant,
     String featureSettings,
     String variationSettings,
     String display,
@@ -40,6 +41,8 @@
   external String get stretch;
   external set unicodeRange(String value);
   external String get unicodeRange;
+  external set variant(String value);
+  external String get variant;
   external set featureSettings(String value);
   external String get featureSettings;
   external set variationSettings(String value);
@@ -76,6 +79,8 @@
   external String get stretch;
   external set unicodeRange(String value);
   external String get unicodeRange;
+  external set variant(String value);
+  external String get variant;
   external set featureSettings(String value);
   external String get featureSettings;
   external set variationSettings(String value);
diff --git a/lib/src/dom/css_view_transitions_2.dart b/lib/src/dom/css_view_transitions_2.dart
deleted file mode 100644
index 98b7289..0000000
--- a/lib/src/dom/css_view_transitions_2.dart
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-// Generated from Web IDL definitions.
-
-import 'dart:js_interop';
-
-import 'css_view_transitions.dart';
-import 'dom.dart';
-
-@JS('PageRevealEvent')
-@staticInterop
-class PageRevealEvent implements Event {}
-
-extension PageRevealEventExtension on PageRevealEvent {
-  external ViewTransition? get viewTransition;
-}
diff --git a/lib/src/dom/cssom.dart b/lib/src/dom/cssom.dart
index b193026..d389456 100644
--- a/lib/src/dom/cssom.dart
+++ b/lib/src/dom/cssom.dart
@@ -131,9 +131,15 @@
 
 @JS('CSSStyleRule')
 @staticInterop
-class CSSStyleRule implements CSSGroupingRule {}
+class CSSStyleRule implements CSSRule {}
 
 extension CSSStyleRuleExtension on CSSStyleRule {
+  external int insertRule(
+    String rule, [
+    int index,
+  ]);
+  external void deleteRule(int index);
+  external CSSRuleList get cssRules;
   external StylePropertyMap get styleMap;
   external set selectorText(String value);
   external String get selectorText;
@@ -1511,17 +1517,12 @@
   external void registerProperty(PropertyDefinition definition);
   external CSSUnitValue number(num value);
   external CSSUnitValue percent(num value);
-  external CSSUnitValue cap(num value);
-  external CSSUnitValue ch(num value);
   external CSSUnitValue em(num value);
   external CSSUnitValue ex(num value);
+  external CSSUnitValue ch(num value);
   external CSSUnitValue ic(num value);
-  external CSSUnitValue lh(num value);
-  external CSSUnitValue rcap(num value);
-  external CSSUnitValue rch(num value);
   external CSSUnitValue rem(num value);
-  external CSSUnitValue rex(num value);
-  external CSSUnitValue ric(num value);
+  external CSSUnitValue lh(num value);
   external CSSUnitValue rlh(num value);
   external CSSUnitValue vw(num value);
   external CSSUnitValue vh(num value);
diff --git a/lib/src/dom/edit_context.dart b/lib/src/dom/edit_context.dart
index 5483d7d..53d0764 100644
--- a/lib/src/dom/edit_context.dart
+++ b/lib/src/dom/edit_context.dart
@@ -10,9 +10,6 @@
 import 'geometry.dart';
 import 'html.dart';
 
-typedef UnderlineStyle = String;
-typedef UnderlineThickness = String;
-
 @JS()
 @staticInterop
 @anonymous
@@ -136,8 +133,11 @@
   external factory TextFormatInit({
     int rangeStart,
     int rangeEnd,
-    UnderlineStyle underlineStyle,
-    UnderlineThickness underlineThickness,
+    String textColor,
+    String backgroundColor,
+    String underlineStyle,
+    String underlineThickness,
+    String underlineColor,
   });
 }
 
@@ -146,10 +146,16 @@
   external int get rangeStart;
   external set rangeEnd(int value);
   external int get rangeEnd;
-  external set underlineStyle(UnderlineStyle value);
-  external UnderlineStyle get underlineStyle;
-  external set underlineThickness(UnderlineThickness value);
-  external UnderlineThickness get underlineThickness;
+  external set textColor(String value);
+  external String get textColor;
+  external set backgroundColor(String value);
+  external String get backgroundColor;
+  external set underlineStyle(String value);
+  external String get underlineStyle;
+  external set underlineThickness(String value);
+  external String get underlineThickness;
+  external set underlineColor(String value);
+  external String get underlineColor;
 }
 
 @JS('TextFormat')
@@ -161,8 +167,11 @@
 extension TextFormatExtension on TextFormat {
   external int get rangeStart;
   external int get rangeEnd;
-  external UnderlineStyle get underlineStyle;
-  external UnderlineThickness get underlineThickness;
+  external String get textColor;
+  external String get backgroundColor;
+  external String get underlineStyle;
+  external String get underlineThickness;
+  external String get underlineColor;
 }
 
 @JS()
diff --git a/lib/src/dom/element_capture.dart b/lib/src/dom/element_capture.dart
deleted file mode 100644
index ad203b6..0000000
--- a/lib/src/dom/element_capture.dart
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-// Generated from Web IDL definitions.
-
-import 'dart:js_interop';
-
-import 'dom.dart';
-
-@JS('RestrictionTarget')
-@staticInterop
-class RestrictionTarget {
-  external static JSPromise fromElement(Element element);
-}
diff --git a/lib/src/dom/fedcm.dart b/lib/src/dom/fedcm.dart
index 73b346a..68c4737 100644
--- a/lib/src/dom/fedcm.dart
+++ b/lib/src/dom/fedcm.dart
@@ -23,7 +23,7 @@
 @anonymous
 class IdentityCredentialRequestOptions {
   external factory IdentityCredentialRequestOptions({
-    required JSArray providers,
+    JSArray providers,
     IdentityCredentialRequestOptionsContext context,
   });
 }
diff --git a/lib/src/dom/fenced_frame.dart b/lib/src/dom/fenced_frame.dart
index 27efeae..ecc781c 100644
--- a/lib/src/dom/fenced_frame.dart
+++ b/lib/src/dom/fenced_frame.dart
@@ -10,7 +10,6 @@
 
 typedef FencedFrameConfigSize = JSAny;
 typedef FencedFrameConfigURL = String;
-typedef UrnOrConfig = JSAny;
 typedef ReportEventType = JSAny;
 typedef OpaqueProperty = String;
 typedef FenceReportingDestination = String;
@@ -49,11 +48,9 @@
 @anonymous
 class FenceEvent {
   external factory FenceEvent({
-    String eventType,
-    String eventData,
-    JSArray destination,
-    bool once,
-    String destinationURL,
+    required String eventType,
+    required String eventData,
+    required JSArray destination,
   });
 }
 
@@ -64,10 +61,6 @@
   external String get eventData;
   external set destination(JSArray value);
   external JSArray get destination;
-  external set once(bool value);
-  external bool get once;
-  external set destinationURL(String value);
-  external String get destinationURL;
 }
 
 @JS('Fence')
@@ -75,7 +68,7 @@
 class Fence {}
 
 extension FenceExtension on Fence {
-  external void reportEvent([ReportEventType event]);
-  external void setReportEventDataForAutomaticBeacons([FenceEvent event]);
+  external void reportEvent(ReportEventType event);
+  external void setReportEventDataForAutomaticBeacons(FenceEvent event);
   external JSArray getNestedConfigs();
 }
diff --git a/lib/src/dom/fetch.dart b/lib/src/dom/fetch.dart
index 9ee2371..b1f4b0b 100644
--- a/lib/src/dom/fetch.dart
+++ b/lib/src/dom/fetch.dart
@@ -8,7 +8,6 @@
 
 import 'attribution_reporting_api.dart';
 import 'dom.dart';
-import 'private_network_access.dart';
 import 'referrer_policy.dart';
 import 'streams.dart';
 import 'trust_token_api.dart';
@@ -104,8 +103,6 @@
     RequestDuplex duplex,
     RequestPriority priority,
     JSAny? window,
-    RequestTargetAddressSpace targetAddressSpace,
-    bool sharedStorageWritable,
     PrivateToken privateToken,
   });
 }
@@ -143,10 +140,6 @@
   external RequestPriority get priority;
   external set window(JSAny? value);
   external JSAny? get window;
-  external set targetAddressSpace(RequestTargetAddressSpace value);
-  external RequestTargetAddressSpace get targetAddressSpace;
-  external set sharedStorageWritable(bool value);
-  external bool get sharedStorageWritable;
   external set privateToken(PrivateToken value);
   external PrivateToken get privateToken;
 }
diff --git a/lib/src/dom/html.dart b/lib/src/dom/html.dart
index 74148c1..c69526b 100644
--- a/lib/src/dom/html.dart
+++ b/lib/src/dom/html.dart
@@ -6,7 +6,6 @@
 
 import 'dart:js_interop';
 
-import 'audio_session.dart';
 import 'autoplay_detection.dart';
 import 'clipboard_apis.dart';
 import 'contact_picker.dart';
@@ -54,7 +53,6 @@
 import 'selection_api.dart';
 import 'serial.dart';
 import 'service_workers.dart';
-import 'shared_storage.dart';
 import 'speech_api.dart';
 import 'storage.dart';
 import 'storage_buckets.dart';
@@ -982,8 +980,6 @@
   external String get border;
   external set attributionSrc(String value);
   external String get attributionSrc;
-  external set sharedStorageWritable(bool value);
-  external bool get sharedStorageWritable;
 }
 
 @JS('HTMLIFrameElement')
@@ -1030,10 +1026,6 @@
   external set marginWidth(String value);
   external String get marginWidth;
   external PermissionsPolicy get permissionsPolicy;
-  external set privateToken(String value);
-  external String get privateToken;
-  external set sharedStorageWritable(bool value);
-  external bool get sharedStorageWritable;
 }
 
 @JS('HTMLEmbedElement')
@@ -2182,8 +2174,6 @@
 }
 
 extension HTMLDetailsElementExtension on HTMLDetailsElement {
-  external set name(String value);
-  external String get name;
   external set open(bool value);
   external bool get open;
 }
@@ -3283,37 +3273,6 @@
   external bool get isActive;
 }
 
-@JS('ToggleEvent')
-@staticInterop
-class ToggleEvent implements Event {
-  external factory ToggleEvent(
-    String type, [
-    ToggleEventInit eventInitDict,
-  ]);
-}
-
-extension ToggleEventExtension on ToggleEvent {
-  external String get oldState;
-  external String get newState;
-}
-
-@JS()
-@staticInterop
-@anonymous
-class ToggleEventInit implements EventInit {
-  external factory ToggleEventInit({
-    String oldState,
-    String newState,
-  });
-}
-
-extension ToggleEventInitExtension on ToggleEventInit {
-  external set oldState(String value);
-  external String get oldState;
-  external set newState(String value);
-  external String get newState;
-}
-
 @JS()
 @staticInterop
 @anonymous
@@ -3410,6 +3369,37 @@
   external DataTransfer? get dataTransfer;
 }
 
+@JS('ToggleEvent')
+@staticInterop
+class ToggleEvent implements Event {
+  external factory ToggleEvent(
+    String type, [
+    ToggleEventInit eventInitDict,
+  ]);
+}
+
+extension ToggleEventExtension on ToggleEvent {
+  external String get oldState;
+  external String get newState;
+}
+
+@JS()
+@staticInterop
+@anonymous
+class ToggleEventInit implements EventInit {
+  external factory ToggleEventInit({
+    String oldState,
+    String newState,
+  });
+}
+
+extension ToggleEventInitExtension on ToggleEventInit {
+  external set oldState(String value);
+  external String get oldState;
+  external set newState(String value);
+  external String get newState;
+}
+
 @JS()
 external Window get window;
 
@@ -3583,7 +3573,6 @@
   external set ondevicemotion(EventHandler value);
   external EventHandler get ondevicemotion;
   external PortalHost? get portalHost;
-  external WindowSharedStorage? get sharedStorage;
   external SpeechSynthesis get speechSynthesis;
   external LaunchQueue get launchQueue;
   external set onanimationstart(EventHandler value);
@@ -4060,7 +4049,6 @@
   external FormData? get formData;
   external String? get downloadRequest;
   external JSAny? get info;
-  external bool get hasUAVisualTransition;
 }
 
 @JS()
@@ -4077,7 +4065,6 @@
     FormData? formData,
     String? downloadRequest,
     JSAny? info,
-    bool hasUAVisualTransition,
   });
 }
 
@@ -4100,8 +4087,6 @@
   external String? get downloadRequest;
   external set info(JSAny? value);
   external JSAny? get info;
-  external set hasUAVisualTransition(bool value);
-  external bool get hasUAVisualTransition;
 }
 
 @JS()
@@ -4181,24 +4166,18 @@
 
 extension PopStateEventExtension on PopStateEvent {
   external JSAny? get state;
-  external bool get hasUAVisualTransition;
 }
 
 @JS()
 @staticInterop
 @anonymous
 class PopStateEventInit implements EventInit {
-  external factory PopStateEventInit({
-    JSAny? state,
-    bool hasUAVisualTransition,
-  });
+  external factory PopStateEventInit({JSAny? state});
 }
 
 extension PopStateEventInitExtension on PopStateEventInit {
   external set state(JSAny? value);
   external JSAny? get state;
-  external set hasUAVisualTransition(bool value);
-  external bool get hasUAVisualTransition;
 }
 
 @JS('HashChangeEvent')
@@ -4368,10 +4347,6 @@
     String keySystem,
     JSArray supportedConfigurations,
   );
-  external JSPromise deprecatedReplaceInURN(
-    UrnOrConfig urnOrConfig,
-    JSAny replacements,
-  );
   external JSArray getGamepads();
   external JSPromise getInstalledRelatedApps();
   external void getUserMedia(
@@ -4399,7 +4374,6 @@
     String url,
   );
   external bool javaEnabled();
-  external AudioSession get audioSession;
   external Clipboard get clipboard;
   external ContactsManager get contacts;
   external CredentialsContainer get credentials;
@@ -4425,6 +4399,7 @@
   external XRSystem get xr;
   external WindowControlsOverlay get windowControlsOverlay;
   external num get deviceMemory;
+  external bool get globalPrivacyControl;
   external String get appCodeName;
   external String get appName;
   external String get appVersion;
@@ -4854,6 +4829,7 @@
   external HID get hid;
   external USB get usb;
   external num get deviceMemory;
+  external bool get globalPrivacyControl;
   external String get appCodeName;
   external String get appName;
   external String get appVersion;
diff --git a/lib/src/dom/intersection_observer.dart b/lib/src/dom/intersection_observer.dart
index ab2fc41..99cb695 100644
--- a/lib/src/dom/intersection_observer.dart
+++ b/lib/src/dom/intersection_observer.dart
@@ -28,7 +28,6 @@
   external JSArray takeRecords();
   external JSObject? get root;
   external String get rootMargin;
-  external String get scrollMargin;
   external JSArray get thresholds;
 }
 
@@ -89,7 +88,6 @@
   external factory IntersectionObserverInit({
     JSObject? root,
     String rootMargin,
-    String scrollMargin,
     JSAny threshold,
   });
 }
@@ -99,8 +97,6 @@
   external JSObject? get root;
   external set rootMargin(String value);
   external String get rootMargin;
-  external set scrollMargin(String value);
-  external String get scrollMargin;
   external set threshold(JSAny value);
   external JSAny get threshold;
 }
diff --git a/lib/src/dom/mediacapture_region.dart b/lib/src/dom/mediacapture_region.dart
index 14a0c71..6fc9852 100644
--- a/lib/src/dom/mediacapture_region.dart
+++ b/lib/src/dom/mediacapture_region.dart
@@ -7,7 +7,6 @@
 import 'dart:js_interop';
 
 import 'dom.dart';
-import 'element_capture.dart';
 import 'mediacapture_streams.dart';
 
 @JS('CropTarget')
@@ -22,7 +21,7 @@
 
 extension BrowserCaptureMediaStreamTrackExtension
     on BrowserCaptureMediaStreamTrack {
-  external JSPromise restrictTo(RestrictionTarget? RestrictionTarget);
+  external JSPromise restrictTo(CropTarget? cropTarget);
   external JSPromise cropTo(CropTarget? cropTarget);
   external BrowserCaptureMediaStreamTrack clone();
 }
diff --git a/lib/src/dom/mediacapture_streams.dart b/lib/src/dom/mediacapture_streams.dart
index 9614f7a..146189b 100644
--- a/lib/src/dom/mediacapture_streams.dart
+++ b/lib/src/dom/mediacapture_streams.dart
@@ -785,7 +785,19 @@
 @JS()
 @staticInterop
 @anonymous
-class CameraDevicePermissionDescriptor implements PermissionDescriptor {
+class DevicePermissionDescriptor implements PermissionDescriptor {
+  external factory DevicePermissionDescriptor({String deviceId});
+}
+
+extension DevicePermissionDescriptorExtension on DevicePermissionDescriptor {
+  external set deviceId(String value);
+  external String get deviceId;
+}
+
+@JS()
+@staticInterop
+@anonymous
+class CameraDevicePermissionDescriptor implements DevicePermissionDescriptor {
   external factory CameraDevicePermissionDescriptor({bool panTiltZoom});
 }
 
diff --git a/lib/src/dom/private_network_access.dart b/lib/src/dom/private_network_access.dart
deleted file mode 100644
index d09e262..0000000
--- a/lib/src/dom/private_network_access.dart
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-// Generated from Web IDL definitions.
-
-import 'dart:js_interop';
-
-import 'permissions.dart';
-
-typedef RequestTargetAddressSpace = String;
-
-@JS()
-@staticInterop
-@anonymous
-class PrivateNetworkAccessPermissionDescriptor implements PermissionDescriptor {
-  external factory PrivateNetworkAccessPermissionDescriptor({String id});
-}
-
-extension PrivateNetworkAccessPermissionDescriptorExtension
-    on PrivateNetworkAccessPermissionDescriptor {
-  external set id(String value);
-  external String get id;
-}
diff --git a/lib/src/dom/screen_capture.dart b/lib/src/dom/screen_capture.dart
index edb3ecc..25fbb00 100644
--- a/lib/src/dom/screen_capture.dart
+++ b/lib/src/dom/screen_capture.dart
@@ -13,7 +13,6 @@
 typedef SelfCapturePreferenceEnum = String;
 typedef SystemAudioPreferenceEnum = String;
 typedef SurfaceSwitchingPreferenceEnum = String;
-typedef MonitorTypeSurfacesEnum = String;
 typedef DisplayCaptureSurfaceType = String;
 typedef CursorCaptureConstraint = String;
 
@@ -40,7 +39,6 @@
     SelfCapturePreferenceEnum selfBrowserSurface,
     SystemAudioPreferenceEnum systemAudio,
     SurfaceSwitchingPreferenceEnum surfaceSwitching,
-    MonitorTypeSurfacesEnum monitorTypeSurfaces,
   });
 }
 
@@ -57,6 +55,4 @@
   external SystemAudioPreferenceEnum get systemAudio;
   external set surfaceSwitching(SurfaceSwitchingPreferenceEnum value);
   external SurfaceSwitchingPreferenceEnum get surfaceSwitching;
-  external set monitorTypeSurfaces(MonitorTypeSurfacesEnum value);
-  external MonitorTypeSurfacesEnum get monitorTypeSurfaces;
 }
diff --git a/lib/src/dom/serial.dart b/lib/src/dom/serial.dart
index 31fc1cf..0e60e22 100644
--- a/lib/src/dom/serial.dart
+++ b/lib/src/dom/serial.dart
@@ -9,7 +9,6 @@
 import 'dom.dart';
 import 'html.dart';
 import 'streams.dart';
-import 'web_bluetooth.dart';
 
 typedef ParityType = String;
 typedef FlowControlType = String;
@@ -31,17 +30,12 @@
 @staticInterop
 @anonymous
 class SerialPortRequestOptions {
-  external factory SerialPortRequestOptions({
-    JSArray filters,
-    JSArray allowedBluetoothServiceClassIds,
-  });
+  external factory SerialPortRequestOptions({JSArray filters});
 }
 
 extension SerialPortRequestOptionsExtension on SerialPortRequestOptions {
   external set filters(JSArray value);
   external JSArray get filters;
-  external set allowedBluetoothServiceClassIds(JSArray value);
-  external JSArray get allowedBluetoothServiceClassIds;
 }
 
 @JS()
@@ -51,7 +45,6 @@
   external factory SerialPortFilter({
     int usbVendorId,
     int usbProductId,
-    BluetoothServiceUUID bluetoothServiceClassId,
   });
 }
 
@@ -60,8 +53,6 @@
   external int get usbVendorId;
   external set usbProductId(int value);
   external int get usbProductId;
-  external set bluetoothServiceClassId(BluetoothServiceUUID value);
-  external BluetoothServiceUUID get bluetoothServiceClassId;
 }
 
 @JS('SerialPort')
@@ -90,7 +81,6 @@
   external factory SerialPortInfo({
     int usbVendorId,
     int usbProductId,
-    BluetoothServiceUUID bluetoothServiceClassId,
   });
 }
 
@@ -99,8 +89,6 @@
   external int get usbVendorId;
   external set usbProductId(int value);
   external int get usbProductId;
-  external set bluetoothServiceClassId(BluetoothServiceUUID value);
-  external BluetoothServiceUUID get bluetoothServiceClassId;
 }
 
 @JS()
diff --git a/lib/src/dom/shared_storage.dart b/lib/src/dom/shared_storage.dart
index 51ab148..a9d0b55 100644
--- a/lib/src/dom/shared_storage.dart
+++ b/lib/src/dom/shared_storage.dart
@@ -25,7 +25,6 @@
     String name,
     SharedStorageOperationConstructor operationCtor,
   );
-  external WorkletSharedStorage get sharedStorage;
 }
 
 @JS('SharedStorageOperation')
diff --git a/lib/src/dom/storage_buckets.dart b/lib/src/dom/storage_buckets.dart
index fa656c7..0a6ff6c 100644
--- a/lib/src/dom/storage_buckets.dart
+++ b/lib/src/dom/storage_buckets.dart
@@ -10,6 +10,8 @@
 import 'indexeddb.dart';
 import 'service_workers.dart';
 
+typedef StorageBucketDurability = String;
+
 @JS('StorageBucketManager')
 @staticInterop
 class StorageBucketManager {}
@@ -28,15 +30,18 @@
 @anonymous
 class StorageBucketOptions {
   external factory StorageBucketOptions({
-    bool persisted,
+    bool? persisted,
+    StorageBucketDurability? durability,
     int? quota,
     DOMHighResTimeStamp? expires,
   });
 }
 
 extension StorageBucketOptionsExtension on StorageBucketOptions {
-  external set persisted(bool value);
-  external bool get persisted;
+  external set persisted(bool? value);
+  external bool? get persisted;
+  external set durability(StorageBucketDurability? value);
+  external StorageBucketDurability? get durability;
   external set quota(int? value);
   external int? get quota;
   external set expires(DOMHighResTimeStamp? value);
@@ -51,6 +56,7 @@
   external JSPromise persist();
   external JSPromise persisted();
   external JSPromise estimate();
+  external JSPromise durability();
   external JSPromise setExpires(DOMHighResTimeStamp expires);
   external JSPromise expires();
   external JSPromise getDirectory();
diff --git a/lib/src/dom/streams.dart b/lib/src/dom/streams.dart
index 9c220f0..6ddd7c7 100644
--- a/lib/src/dom/streams.dart
+++ b/lib/src/dom/streams.dart
@@ -21,7 +21,6 @@
 typedef TransformerStartCallback = JSFunction;
 typedef TransformerFlushCallback = JSFunction;
 typedef TransformerTransformCallback = JSFunction;
-typedef TransformerCancelCallback = JSFunction;
 typedef QueuingStrategySize = JSFunction;
 typedef ReadableStreamReaderMode = String;
 typedef ReadableStreamType = String;
@@ -315,7 +314,6 @@
     TransformerStartCallback start,
     TransformerTransformCallback transform,
     TransformerFlushCallback flush,
-    TransformerCancelCallback cancel,
     JSAny? readableType,
     JSAny? writableType,
   });
@@ -328,8 +326,6 @@
   external TransformerTransformCallback get transform;
   external set flush(TransformerFlushCallback value);
   external TransformerFlushCallback get flush;
-  external set cancel(TransformerCancelCallback value);
-  external TransformerCancelCallback get cancel;
   external set readableType(JSAny? value);
   external JSAny? get readableType;
   external set writableType(JSAny? value);
diff --git a/lib/src/dom/turtledove.dart b/lib/src/dom/turtledove.dart
index e126b90..4325c89 100644
--- a/lib/src/dom/turtledove.dart
+++ b/lib/src/dom/turtledove.dart
@@ -15,9 +15,6 @@
   external factory AuctionAd({
     required String renderURL,
     JSAny? metadata,
-    String buyerReportingId,
-    String buyerAndSellerReportingId,
-    JSArray allowedReportingOrigins,
   });
 }
 
@@ -26,12 +23,6 @@
   external String get renderURL;
   external set metadata(JSAny? value);
   external JSAny? get metadata;
-  external set buyerReportingId(String value);
-  external String get buyerReportingId;
-  external set buyerAndSellerReportingId(String value);
-  external String get buyerAndSellerReportingId;
-  external set allowedReportingOrigins(JSArray value);
-  external JSArray get allowedReportingOrigins;
 }
 
 @JS()
@@ -203,9 +194,9 @@
   external bool setBid([GenerateBidOutput generateBidOutput]);
   external void setPriority(num priority);
   external void setPrioritySignalsOverride(
-    String key, [
-    num? priority,
-  ]);
+    String key,
+    num priority,
+  );
 }
 
 @JS()
@@ -214,8 +205,8 @@
 class AdRender {
   external factory AdRender({
     required String url,
-    String width,
-    String height,
+    required String width,
+    required String height,
   });
 }
 
@@ -233,9 +224,9 @@
 @anonymous
 class GenerateBidOutput {
   external factory GenerateBidOutput({
-    num bid,
+    required num bid,
     String bidCurrency,
-    JSAny render,
+    required JSAny render,
     JSAny? ad,
     JSArray adComponents,
     num adCost,
@@ -277,10 +268,6 @@
     on InterestGroupReportingScriptRunnerGlobalScope {
   external void sendReportTo(String url);
   external void registerAdBeacon(JSAny map);
-  external void registerAdMacro(
-    String name,
-    String value,
-  );
 }
 
 @JS()
@@ -309,7 +296,6 @@
     required String seller,
     required int joinCount,
     required int bidCount,
-    required int recency,
     String topLevelSeller,
     JSArray prevWinsMs,
     JSObject wasmHelper,
@@ -326,8 +312,6 @@
   external int get joinCount;
   external set bidCount(int value);
   external int get bidCount;
-  external set recency(int value);
-  external int get recency;
   external set topLevelSeller(String value);
   external String get topLevelSeller;
   external set prevWinsMs(JSArray value);
@@ -373,102 +357,6 @@
 @JS()
 @staticInterop
 @anonymous
-class ReportingBrowserSignals {
-  external factory ReportingBrowserSignals({
-    required String topWindowHostname,
-    required String interestGroupOwner,
-    required String renderURL,
-    required num bid,
-    required num highestScoringOtherBid,
-    String bidCurrency,
-    String highestScoringOtherBidCurrency,
-    String topLevelSeller,
-    String componentSeller,
-    String buyerAndSellerReportingId,
-  });
-}
-
-extension ReportingBrowserSignalsExtension on ReportingBrowserSignals {
-  external set topWindowHostname(String value);
-  external String get topWindowHostname;
-  external set interestGroupOwner(String value);
-  external String get interestGroupOwner;
-  external set renderURL(String value);
-  external String get renderURL;
-  external set bid(num value);
-  external num get bid;
-  external set highestScoringOtherBid(num value);
-  external num get highestScoringOtherBid;
-  external set bidCurrency(String value);
-  external String get bidCurrency;
-  external set highestScoringOtherBidCurrency(String value);
-  external String get highestScoringOtherBidCurrency;
-  external set topLevelSeller(String value);
-  external String get topLevelSeller;
-  external set componentSeller(String value);
-  external String get componentSeller;
-  external set buyerAndSellerReportingId(String value);
-  external String get buyerAndSellerReportingId;
-}
-
-@JS()
-@staticInterop
-@anonymous
-class ReportResultBrowserSignals implements ReportingBrowserSignals {
-  external factory ReportResultBrowserSignals({
-    required num desirability,
-    String topLevelSellerSignals,
-    num modifiedBid,
-    int dataVersion,
-  });
-}
-
-extension ReportResultBrowserSignalsExtension on ReportResultBrowserSignals {
-  external set desirability(num value);
-  external num get desirability;
-  external set topLevelSellerSignals(String value);
-  external String get topLevelSellerSignals;
-  external set modifiedBid(num value);
-  external num get modifiedBid;
-  external set dataVersion(int value);
-  external int get dataVersion;
-}
-
-@JS()
-@staticInterop
-@anonymous
-class ReportWinBrowserSignals implements ReportingBrowserSignals {
-  external factory ReportWinBrowserSignals({
-    num adCost,
-    String seller,
-    bool madeHighestScoringOtherBid,
-    String interestGroupName,
-    String buyerReportingId,
-    int modelingSignals,
-    int dataVersion,
-  });
-}
-
-extension ReportWinBrowserSignalsExtension on ReportWinBrowserSignals {
-  external set adCost(num value);
-  external num get adCost;
-  external set seller(String value);
-  external String get seller;
-  external set madeHighestScoringOtherBid(bool value);
-  external bool get madeHighestScoringOtherBid;
-  external set interestGroupName(String value);
-  external String get interestGroupName;
-  external set buyerReportingId(String value);
-  external String get buyerReportingId;
-  external set modelingSignals(int value);
-  external int get modelingSignals;
-  external set dataVersion(int value);
-  external int get dataVersion;
-}
-
-@JS()
-@staticInterop
-@anonymous
 class ScoreAdOutput {
   external factory ScoreAdOutput({
     required num desirability,
diff --git a/lib/src/dom/ua_client_hints.dart b/lib/src/dom/ua_client_hints.dart
index 554924b..96edbb0 100644
--- a/lib/src/dom/ua_client_hints.dart
+++ b/lib/src/dom/ua_client_hints.dart
@@ -31,7 +31,7 @@
     String architecture,
     String bitness,
     JSArray brands,
-    JSArray formFactor,
+    String formFactor,
     JSArray fullVersionList,
     String model,
     bool mobile,
@@ -49,8 +49,8 @@
   external String get bitness;
   external set brands(JSArray value);
   external JSArray get brands;
-  external set formFactor(JSArray value);
-  external JSArray get formFactor;
+  external set formFactor(String value);
+  external String get formFactor;
   external set fullVersionList(JSArray value);
   external JSArray get fullVersionList;
   external set model(String value);
diff --git a/lib/src/dom/uievents.dart b/lib/src/dom/uievents.dart
index 03ddc5e..1847a4c 100644
--- a/lib/src/dom/uievents.dart
+++ b/lib/src/dom/uievents.dart
@@ -121,8 +121,6 @@
   external int get screenY;
   external int get clientX;
   external int get clientY;
-  external int get layerX;
-  external int get layerY;
   external bool get ctrlKey;
   external bool get shiftKey;
   external bool get altKey;
diff --git a/lib/src/dom/webaudio.dart b/lib/src/dom/webaudio.dart
index af24fb0..ff0c67d 100644
--- a/lib/src/dom/webaudio.dart
+++ b/lib/src/dom/webaudio.dart
@@ -16,7 +16,6 @@
 typedef AudioWorkletProcessorConstructor = JSFunction;
 typedef AudioWorkletProcessCallback = JSFunction;
 typedef AudioContextState = String;
-typedef AudioContextRenderSizeCategory = String;
 typedef AudioContextLatencyCategory = String;
 typedef AudioSinkType = String;
 typedef ChannelCountMode = String;
@@ -76,7 +75,6 @@
   external num get currentTime;
   external AudioListener get listener;
   external AudioContextState get state;
-  external int get renderQuantumSize;
   external AudioWorklet get audioWorklet;
   external set onstatechange(EventHandler value);
   external EventHandler get onstatechange;
@@ -117,7 +115,6 @@
     JSAny latencyHint,
     num sampleRate,
     JSAny sinkId,
-    JSAny renderSizeHint,
   });
 }
 
@@ -128,8 +125,6 @@
   external num get sampleRate;
   external set sinkId(JSAny value);
   external JSAny get sinkId;
-  external set renderSizeHint(JSAny value);
-  external JSAny get renderSizeHint;
 }
 
 @JS()
@@ -259,7 +254,6 @@
     int numberOfChannels,
     required int length,
     required num sampleRate,
-    JSAny renderSizeHint,
   });
 }
 
@@ -270,8 +264,6 @@
   external int get length;
   external set sampleRate(num value);
   external num get sampleRate;
-  external set renderSizeHint(JSAny value);
-  external JSAny get renderSizeHint;
 }
 
 @JS('OfflineAudioCompletionEvent')
@@ -1252,7 +1244,6 @@
   external int get currentFrame;
   external num get currentTime;
   external num get sampleRate;
-  external int get renderQuantumSize;
   external MessagePort get port;
 }
 
diff --git a/lib/src/dom/webauthn.dart b/lib/src/dom/webauthn.dart
index b1d2204..351567a 100644
--- a/lib/src/dom/webauthn.dart
+++ b/lib/src/dom/webauthn.dart
@@ -23,7 +23,6 @@
 typedef PublicKeyCredentialType = String;
 typedef AuthenticatorTransport = String;
 typedef UserVerificationRequirement = String;
-typedef PublicKeyCredentialHints = String;
 typedef LargeBlobSupport = String;
 
 @JS('PublicKeyCredential')
@@ -31,7 +30,6 @@
 class PublicKeyCredential implements Credential {
   external static JSPromise isConditionalMediationAvailable();
   external static JSPromise isUserVerifyingPlatformAuthenticatorAvailable();
-  external static JSPromise isPasskeyPlatformAuthenticatorAvailable();
   external static PublicKeyCredentialCreationOptions
       parseCreationOptionsFromJSON(
           PublicKeyCredentialCreationOptionsJSON options);
@@ -146,7 +144,6 @@
     required Base64URLString authenticatorData,
     required Base64URLString signature,
     Base64URLString userHandle,
-    Base64URLString attestationObject,
   });
 }
 
@@ -160,8 +157,6 @@
   external Base64URLString get signature;
   external set userHandle(Base64URLString value);
   external Base64URLString get userHandle;
-  external set attestationObject(Base64URLString value);
-  external Base64URLString get attestationObject;
 }
 
 @JS()
@@ -183,9 +178,7 @@
     int timeout,
     JSArray excludeCredentials,
     AuthenticatorSelectionCriteria authenticatorSelection,
-    JSArray hints,
     String attestation,
-    JSArray attestationFormats,
     AuthenticationExtensionsClientInputsJSON extensions,
   });
 }
@@ -206,12 +199,8 @@
   external JSArray get excludeCredentials;
   external set authenticatorSelection(AuthenticatorSelectionCriteria value);
   external AuthenticatorSelectionCriteria get authenticatorSelection;
-  external set hints(JSArray value);
-  external JSArray get hints;
   external set attestation(String value);
   external String get attestation;
-  external set attestationFormats(JSArray value);
-  external JSArray get attestationFormats;
   external set extensions(AuthenticationExtensionsClientInputsJSON value);
   external AuthenticationExtensionsClientInputsJSON get extensions;
 }
@@ -275,9 +264,6 @@
     String rpId,
     JSArray allowCredentials,
     String userVerification,
-    JSArray hints,
-    String attestation,
-    JSArray attestationFormats,
     AuthenticationExtensionsClientInputsJSON extensions,
   });
 }
@@ -294,12 +280,6 @@
   external JSArray get allowCredentials;
   external set userVerification(String value);
   external String get userVerification;
-  external set hints(JSArray value);
-  external JSArray get hints;
-  external set attestation(String value);
-  external String get attestation;
-  external set attestationFormats(JSArray value);
-  external JSArray get attestationFormats;
   external set extensions(AuthenticationExtensionsClientInputsJSON value);
   external AuthenticationExtensionsClientInputsJSON get extensions;
 }
@@ -367,7 +347,6 @@
     int timeout,
     JSArray excludeCredentials,
     AuthenticatorSelectionCriteria authenticatorSelection,
-    JSArray hints,
     String attestation,
     JSArray attestationFormats,
     AuthenticationExtensionsClientInputs extensions,
@@ -390,8 +369,6 @@
   external JSArray get excludeCredentials;
   external set authenticatorSelection(AuthenticatorSelectionCriteria value);
   external AuthenticatorSelectionCriteria get authenticatorSelection;
-  external set hints(JSArray value);
-  external JSArray get hints;
   external set attestation(String value);
   external String get attestation;
   external set attestationFormats(JSArray value);
@@ -476,7 +453,6 @@
     String rpId,
     JSArray allowCredentials,
     String userVerification,
-    JSArray hints,
     String attestation,
     JSArray attestationFormats,
     AuthenticationExtensionsClientInputs extensions,
@@ -495,8 +471,6 @@
   external JSArray get allowCredentials;
   external set userVerification(String value);
   external String get userVerification;
-  external set hints(JSArray value);
-  external JSArray get hints;
   external set attestation(String value);
   external String get attestation;
   external set attestationFormats(JSArray value);
diff --git a/lib/src/dom/webcodecs.dart b/lib/src/dom/webcodecs.dart
index d88b2ba..0917f33 100644
--- a/lib/src/dom/webcodecs.dart
+++ b/lib/src/dom/webcodecs.dart
@@ -461,7 +461,6 @@
   external factory VideoEncoderEncodeOptions({
     VideoEncoderEncodeOptionsForAv1 av1,
     VideoEncoderEncodeOptionsForAvc avc,
-    VideoEncoderEncodeOptionsForHevc hevc,
     VideoEncoderEncodeOptionsForVp9 vp9,
     bool keyFrame,
   });
@@ -472,8 +471,6 @@
   external VideoEncoderEncodeOptionsForAv1 get av1;
   external set avc(VideoEncoderEncodeOptionsForAvc value);
   external VideoEncoderEncodeOptionsForAvc get avc;
-  external set hevc(VideoEncoderEncodeOptionsForHevc value);
-  external VideoEncoderEncodeOptionsForHevc get hevc;
   external set vp9(VideoEncoderEncodeOptionsForVp9 value);
   external VideoEncoderEncodeOptionsForVp9 get vp9;
   external set keyFrame(bool value);
diff --git a/lib/src/dom/webcodecs_hevc_codec_registration.dart b/lib/src/dom/webcodecs_hevc_codec_registration.dart
index 800758d..9d9e705 100644
--- a/lib/src/dom/webcodecs_hevc_codec_registration.dart
+++ b/lib/src/dom/webcodecs_hevc_codec_registration.dart
@@ -19,16 +19,3 @@
   external set format(HevcBitstreamFormat value);
   external HevcBitstreamFormat get format;
 }
-
-@JS()
-@staticInterop
-@anonymous
-class VideoEncoderEncodeOptionsForHevc {
-  external factory VideoEncoderEncodeOptionsForHevc({int? quantizer});
-}
-
-extension VideoEncoderEncodeOptionsForHevcExtension
-    on VideoEncoderEncodeOptionsForHevc {
-  external set quantizer(int? value);
-  external int? get quantizer;
-}
diff --git a/lib/src/dom/webgl2.dart b/lib/src/dom/webgl2.dart
index cab29f2..dfa9216 100644
--- a/lib/src/dom/webgl2.dart
+++ b/lib/src/dom/webgl2.dart
@@ -993,7 +993,7 @@
     GLenum target,
     GLintptr srcByteOffset,
     ArrayBufferView dstBuffer, [
-    int dstOffset,
+    GLuint dstOffset,
     GLuint length,
   ]);
   external void blitFramebuffer(
@@ -1066,7 +1066,7 @@
     GLenum format,
     GLenum type,
     JSAny pboOffsetOrSourceOrSrcData, [
-    int srcOffset,
+    GLuint srcOffset,
   ]);
   external void texSubImage3D(
     GLenum target,
@@ -1080,7 +1080,7 @@
     GLenum format,
     GLenum type,
     JSAny pboOffsetOrSourceOrSrcData, [
-    int srcOffset,
+    GLuint srcOffset,
   ]);
   external void copyTexSubImage3D(
     GLenum target,
@@ -1148,67 +1148,67 @@
   external void uniform1uiv(
     WebGLUniformLocation? location,
     Uint32List data, [
-    int srcOffset,
+    GLuint srcOffset,
     GLuint srcLength,
   ]);
   external void uniform2uiv(
     WebGLUniformLocation? location,
     Uint32List data, [
-    int srcOffset,
+    GLuint srcOffset,
     GLuint srcLength,
   ]);
   external void uniform3uiv(
     WebGLUniformLocation? location,
     Uint32List data, [
-    int srcOffset,
+    GLuint srcOffset,
     GLuint srcLength,
   ]);
   external void uniform4uiv(
     WebGLUniformLocation? location,
     Uint32List data, [
-    int srcOffset,
+    GLuint srcOffset,
     GLuint srcLength,
   ]);
   external void uniformMatrix3x2fv(
     WebGLUniformLocation? location,
     GLboolean transpose,
     Float32List data, [
-    int srcOffset,
+    GLuint srcOffset,
     GLuint srcLength,
   ]);
   external void uniformMatrix4x2fv(
     WebGLUniformLocation? location,
     GLboolean transpose,
     Float32List data, [
-    int srcOffset,
+    GLuint srcOffset,
     GLuint srcLength,
   ]);
   external void uniformMatrix2x3fv(
     WebGLUniformLocation? location,
     GLboolean transpose,
     Float32List data, [
-    int srcOffset,
+    GLuint srcOffset,
     GLuint srcLength,
   ]);
   external void uniformMatrix4x3fv(
     WebGLUniformLocation? location,
     GLboolean transpose,
     Float32List data, [
-    int srcOffset,
+    GLuint srcOffset,
     GLuint srcLength,
   ]);
   external void uniformMatrix2x4fv(
     WebGLUniformLocation? location,
     GLboolean transpose,
     Float32List data, [
-    int srcOffset,
+    GLuint srcOffset,
     GLuint srcLength,
   ]);
   external void uniformMatrix3x4fv(
     WebGLUniformLocation? location,
     GLboolean transpose,
     Float32List data, [
-    int srcOffset,
+    GLuint srcOffset,
     GLuint srcLength,
   ]);
   external void vertexAttribI4i(
@@ -1270,19 +1270,19 @@
     GLenum buffer,
     GLint drawbuffer,
     Float32List values, [
-    int srcOffset,
+    GLuint srcOffset,
   ]);
   external void clearBufferiv(
     GLenum buffer,
     GLint drawbuffer,
     Int32List values, [
-    int srcOffset,
+    GLuint srcOffset,
   ]);
   external void clearBufferuiv(
     GLenum buffer,
     GLint drawbuffer,
     Uint32List values, [
-    int srcOffset,
+    GLuint srcOffset,
   ]);
   external void clearBufferfi(
     GLenum buffer,
@@ -1418,14 +1418,14 @@
     GLenum target,
     JSAny sizeOrSrcData,
     GLenum usage, [
-    int srcOffset,
+    GLuint srcOffset,
     GLuint length,
   ]);
   external void bufferSubData(
     GLenum target,
     GLintptr dstByteOffset,
     JSObject srcData, [
-    int srcOffset,
+    GLuint srcOffset,
     GLuint length,
   ]);
   external void texImage2D(
@@ -1438,7 +1438,7 @@
     GLenum format,
     GLenum type,
     JSAny pboOffsetOrPixelsOrSourceOrSrcData,
-    int srcOffset,
+    GLuint srcOffset,
   ]);
   external void texSubImage2D(
     GLenum target,
@@ -1450,7 +1450,7 @@
     JSAny formatOrSource, [
     GLenum type,
     JSAny pboOffsetOrPixelsOrSourceOrSrcData,
-    int srcOffset,
+    GLuint srcOffset,
   ]);
   external void compressedTexImage2D(
     GLenum target,
@@ -1478,70 +1478,70 @@
   external void uniform1fv(
     WebGLUniformLocation? location,
     Float32List data, [
-    int srcOffset,
+    GLuint srcOffset,
     GLuint srcLength,
   ]);
   external void uniform2fv(
     WebGLUniformLocation? location,
     Float32List data, [
-    int srcOffset,
+    GLuint srcOffset,
     GLuint srcLength,
   ]);
   external void uniform3fv(
     WebGLUniformLocation? location,
     Float32List data, [
-    int srcOffset,
+    GLuint srcOffset,
     GLuint srcLength,
   ]);
   external void uniform4fv(
     WebGLUniformLocation? location,
     Float32List data, [
-    int srcOffset,
+    GLuint srcOffset,
     GLuint srcLength,
   ]);
   external void uniform1iv(
     WebGLUniformLocation? location,
     Int32List data, [
-    int srcOffset,
+    GLuint srcOffset,
     GLuint srcLength,
   ]);
   external void uniform2iv(
     WebGLUniformLocation? location,
     Int32List data, [
-    int srcOffset,
+    GLuint srcOffset,
     GLuint srcLength,
   ]);
   external void uniform3iv(
     WebGLUniformLocation? location,
     Int32List data, [
-    int srcOffset,
+    GLuint srcOffset,
     GLuint srcLength,
   ]);
   external void uniform4iv(
     WebGLUniformLocation? location,
     Int32List data, [
-    int srcOffset,
+    GLuint srcOffset,
     GLuint srcLength,
   ]);
   external void uniformMatrix2fv(
     WebGLUniformLocation? location,
     GLboolean transpose,
     Float32List data, [
-    int srcOffset,
+    GLuint srcOffset,
     GLuint srcLength,
   ]);
   external void uniformMatrix3fv(
     WebGLUniformLocation? location,
     GLboolean transpose,
     Float32List data, [
-    int srcOffset,
+    GLuint srcOffset,
     GLuint srcLength,
   ]);
   external void uniformMatrix4fv(
     WebGLUniformLocation? location,
     GLboolean transpose,
     Float32List data, [
-    int srcOffset,
+    GLuint srcOffset,
     GLuint srcLength,
   ]);
   external void readPixels(
@@ -1552,7 +1552,7 @@
     GLenum format,
     GLenum type,
     JSAny dstDataOrOffset, [
-    int dstOffset,
+    GLuint dstOffset,
   ]);
   external JSObject get canvas;
   external GLsizei get drawingBufferWidth;
diff --git a/lib/src/dom/webgl_multi_draw.dart b/lib/src/dom/webgl_multi_draw.dart
index badf2c0..703ba6d 100644
--- a/lib/src/dom/webgl_multi_draw.dart
+++ b/lib/src/dom/webgl_multi_draw.dart
@@ -16,39 +16,39 @@
   external void multiDrawArraysWEBGL(
     GLenum mode,
     JSObject firstsList,
-    int firstsOffset,
+    GLuint firstsOffset,
     JSObject countsList,
-    int countsOffset,
+    GLuint countsOffset,
     GLsizei drawcount,
   );
   external void multiDrawElementsWEBGL(
     GLenum mode,
     JSObject countsList,
-    int countsOffset,
+    GLuint countsOffset,
     GLenum type,
     JSObject offsetsList,
-    int offsetsOffset,
+    GLuint offsetsOffset,
     GLsizei drawcount,
   );
   external void multiDrawArraysInstancedWEBGL(
     GLenum mode,
     JSObject firstsList,
-    int firstsOffset,
+    GLuint firstsOffset,
     JSObject countsList,
-    int countsOffset,
+    GLuint countsOffset,
     JSObject instanceCountsList,
-    int instanceCountsOffset,
+    GLuint instanceCountsOffset,
     GLsizei drawcount,
   );
   external void multiDrawElementsInstancedWEBGL(
     GLenum mode,
     JSObject countsList,
-    int countsOffset,
+    GLuint countsOffset,
     GLenum type,
     JSObject offsetsList,
-    int offsetsOffset,
+    GLuint offsetsOffset,
     JSObject instanceCountsList,
-    int instanceCountsOffset,
+    GLuint instanceCountsOffset,
     GLsizei drawcount,
   );
 }
diff --git a/lib/src/dom/webgl_multi_draw_instanced_base_vertex_base_instance.dart b/lib/src/dom/webgl_multi_draw_instanced_base_vertex_base_instance.dart
index 0b26361..03adcf2 100644
--- a/lib/src/dom/webgl_multi_draw_instanced_base_vertex_base_instance.dart
+++ b/lib/src/dom/webgl_multi_draw_instanced_base_vertex_base_instance.dart
@@ -17,28 +17,28 @@
   external void multiDrawArraysInstancedBaseInstanceWEBGL(
     GLenum mode,
     JSObject firstsList,
-    int firstsOffset,
+    GLuint firstsOffset,
     JSObject countsList,
-    int countsOffset,
+    GLuint countsOffset,
     JSObject instanceCountsList,
-    int instanceCountsOffset,
+    GLuint instanceCountsOffset,
     JSObject baseInstancesList,
-    int baseInstancesOffset,
+    GLuint baseInstancesOffset,
     GLsizei drawcount,
   );
   external void multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(
     GLenum mode,
     JSObject countsList,
-    int countsOffset,
+    GLuint countsOffset,
     GLenum type,
     JSObject offsetsList,
-    int offsetsOffset,
+    GLuint offsetsOffset,
     JSObject instanceCountsList,
-    int instanceCountsOffset,
+    GLuint instanceCountsOffset,
     JSObject baseVerticesList,
-    int baseVerticesOffset,
+    GLuint baseVerticesOffset,
     JSObject baseInstancesList,
-    int baseInstancesOffset,
+    GLuint baseInstancesOffset,
     GLsizei drawcount,
   );
 }
diff --git a/lib/src/dom/webnn.dart b/lib/src/dom/webnn.dart
index 6cbf925..5702cb3 100644
--- a/lib/src/dom/webnn.dart
+++ b/lib/src/dom/webnn.dart
@@ -175,7 +175,7 @@
     MLBatchNormalizationOptions options,
   ]);
   external JSObject clamp([
-    JSObject operandOrOptions,
+    JSObject optionsOrX,
     MLClampOptions options,
   ]);
   external MLOperand concat(
@@ -220,17 +220,17 @@
     MLOperand a,
     MLOperand b,
   );
-  external MLOperand abs(MLOperand input);
-  external MLOperand ceil(MLOperand input);
-  external MLOperand cos(MLOperand input);
-  external MLOperand exp(MLOperand input);
-  external MLOperand floor(MLOperand input);
-  external MLOperand log(MLOperand input);
-  external MLOperand neg(MLOperand input);
-  external MLOperand sin(MLOperand input);
-  external MLOperand tan(MLOperand input);
+  external MLOperand abs(MLOperand x);
+  external MLOperand ceil(MLOperand x);
+  external MLOperand cos(MLOperand x);
+  external MLOperand exp(MLOperand x);
+  external MLOperand floor(MLOperand x);
+  external MLOperand log(MLOperand x);
+  external MLOperand neg(MLOperand x);
+  external MLOperand sin(MLOperand x);
+  external MLOperand tan(MLOperand x);
   external JSObject elu([
-    JSObject inputOrOptions,
+    JSObject optionsOrX,
     MLEluOptions options,
   ]);
   external MLOperand gemm(
@@ -255,20 +255,20 @@
     MLGruCellOptions options,
   ]);
   external JSObject hardSigmoid([
-    JSObject inputOrOptions,
+    JSObject optionsOrX,
     MLHardSigmoidOptions options,
   ]);
-  external JSObject hardSwish([MLOperand input]);
+  external JSObject hardSwish([MLOperand x]);
   external MLOperand instanceNormalization(
     MLOperand input, [
     MLInstanceNormalizationOptions options,
   ]);
   external JSObject leakyRelu([
-    JSObject inputOrOptions,
+    JSObject optionsOrX,
     MLLeakyReluOptions options,
   ]);
   external JSObject linear([
-    JSObject inputOrOptions,
+    JSObject optionsOrX,
     MLLinearOptions options,
   ]);
   external JSArray lstm(
@@ -311,7 +311,7 @@
     MLPool2dOptions options,
   ]);
   external MLOperand prelu(
-    MLOperand input,
+    MLOperand x,
     MLOperand slope,
   );
   external MLOperand reduceL1(
@@ -354,7 +354,7 @@
     MLOperand input, [
     MLReduceOptions options,
   ]);
-  external JSObject relu([MLOperand input]);
+  external JSObject relu([MLOperand x]);
   external MLOperand resample2d(
     MLOperand input, [
     MLResample2dOptions options,
@@ -363,18 +363,18 @@
     MLOperand input,
     JSArray newShape,
   );
-  external JSObject sigmoid([MLOperand input]);
+  external JSObject sigmoid([MLOperand x]);
   external MLOperand slice(
     MLOperand input,
     JSArray starts,
     JSArray sizes,
   );
-  external JSObject softmax([MLOperand input]);
+  external JSObject softmax([MLOperand x]);
   external JSObject softplus([
-    JSObject inputOrOptions,
+    JSObject optionsOrX,
     MLSoftplusOptions options,
   ]);
-  external JSObject softsign([MLOperand input]);
+  external JSObject softsign([MLOperand x]);
   external JSArray split(
     MLOperand input,
     JSAny splits, [
@@ -384,7 +384,7 @@
     MLOperand input, [
     MLSqueezeOptions options,
   ]);
-  external JSObject tanh([MLOperand input]);
+  external JSObject tanh([MLOperand x]);
   external MLOperand transpose(
     MLOperand input, [
     MLTransposeOptions options,
diff --git a/lib/src/dom/webrtc.dart b/lib/src/dom/webrtc.dart
index 175a6f5..4f36b64 100644
--- a/lib/src/dom/webrtc.dart
+++ b/lib/src/dom/webrtc.dart
@@ -448,10 +448,7 @@
 
 extension RTCRtpSenderExtension on RTCRtpSender {
   external JSPromise generateKeyFrame([JSArray rids]);
-  external JSPromise setParameters(
-    RTCRtpSendParameters parameters, [
-    RTCSetParameterOptions setParameterOptions,
-  ]);
+  external JSPromise setParameters(RTCRtpSendParameters parameters);
   external RTCRtpSendParameters getParameters();
   external JSPromise replaceTrack(MediaStreamTrack? withTrack);
   external void setStreams(MediaStream streams);
@@ -664,13 +661,6 @@
   external String get uri;
 }
 
-@JS()
-@staticInterop
-@anonymous
-class RTCSetParameterOptions {
-  external factory RTCSetParameterOptions();
-}
-
 @JS('RTCRtpReceiver')
 @staticInterop
 class RTCRtpReceiver {
diff --git a/lib/src/dom/webrtc_encoded_transform.dart b/lib/src/dom/webrtc_encoded_transform.dart
index 22f2a94..583270c 100644
--- a/lib/src/dom/webrtc_encoded_transform.dart
+++ b/lib/src/dom/webrtc_encoded_transform.dart
@@ -98,7 +98,6 @@
     int payloadType,
     JSArray contributingSources,
     int timestamp,
-    int rtpTimestamp,
   });
 }
 
@@ -124,8 +123,6 @@
   external JSArray get contributingSources;
   external set timestamp(int value);
   external int get timestamp;
-  external set rtpTimestamp(int value);
-  external int get rtpTimestamp;
 }
 
 @JS('RTCEncodedVideoFrame')
@@ -135,6 +132,7 @@
 extension RTCEncodedVideoFrameExtension on RTCEncodedVideoFrame {
   external RTCEncodedVideoFrameMetadata getMetadata();
   external RTCEncodedVideoFrameType get type;
+  external int get timestamp;
   external set data(JSArrayBuffer value);
   external JSArrayBuffer get data;
 }
@@ -148,7 +146,6 @@
     int payloadType,
     JSArray contributingSources,
     int sequenceNumber,
-    int rtpTimestamp,
   });
 }
 
@@ -162,8 +159,6 @@
   external JSArray get contributingSources;
   external set sequenceNumber(int value);
   external int get sequenceNumber;
-  external set rtpTimestamp(int value);
-  external int get rtpTimestamp;
 }
 
 @JS('RTCEncodedAudioFrame')
@@ -172,6 +167,7 @@
 
 extension RTCEncodedAudioFrameExtension on RTCEncodedAudioFrame {
   external RTCEncodedAudioFrameMetadata getMetadata();
+  external int get timestamp;
   external set data(JSArrayBuffer value);
   external JSArrayBuffer get data;
 }
diff --git a/lib/src/dom/webrtc_stats.dart b/lib/src/dom/webrtc_stats.dart
index 5b5d3b4..536e4cd 100644
--- a/lib/src/dom/webrtc_stats.dart
+++ b/lib/src/dom/webrtc_stats.dart
@@ -92,6 +92,7 @@
 class RTCInboundRtpStreamStats implements RTCReceivedRtpStreamStats {
   external factory RTCInboundRtpStreamStats({
     required String trackIdentifier,
+    required String kind,
     String mid,
     String remoteId,
     int framesDecoded,
@@ -142,14 +143,14 @@
     num totalAssemblyTime,
     int retransmittedPacketsReceived,
     int retransmittedBytesReceived,
-    int rtxSsrc,
-    int fecSsrc,
   });
 }
 
 extension RTCInboundRtpStreamStatsExtension on RTCInboundRtpStreamStats {
   external set trackIdentifier(String value);
   external String get trackIdentifier;
+  external set kind(String value);
+  external String get kind;
   external set mid(String value);
   external String get mid;
   external set remoteId(String value);
@@ -250,10 +251,6 @@
   external int get retransmittedPacketsReceived;
   external set retransmittedBytesReceived(int value);
   external int get retransmittedBytesReceived;
-  external set rtxSsrc(int value);
-  external int get rtxSsrc;
-  external set fecSsrc(int value);
-  external int get fecSsrc;
 }
 
 @JS()
@@ -312,7 +309,6 @@
     int headerBytesSent,
     int retransmittedPacketsSent,
     int retransmittedBytesSent,
-    int rtxSsrc,
     num targetBitrate,
     int totalEncodedBytesTarget,
     int frameWidth,
@@ -353,8 +349,6 @@
   external int get retransmittedPacketsSent;
   external set retransmittedBytesSent(int value);
   external int get retransmittedBytesSent;
-  external set rtxSsrc(int value);
-  external int get rtxSsrc;
   external set targetBitrate(num value);
   external num get targetBitrate;
   external set totalEncodedBytesTarget(int value);
diff --git a/lib/src/dom/webtransport.dart b/lib/src/dom/webtransport.dart
index 382cb51..811d584 100644
--- a/lib/src/dom/webtransport.dart
+++ b/lib/src/dom/webtransport.dart
@@ -132,13 +132,14 @@
 @JS()
 @staticInterop
 @anonymous
-class WebTransportConnectionStats {
-  external factory WebTransportConnectionStats({
+class WebTransportStats {
+  external factory WebTransportStats({
     DOMHighResTimeStamp timestamp,
     int bytesSent,
     int packetsSent,
-    int bytesLost,
     int packetsLost,
+    int numOutgoingStreamsCreated,
+    int numIncomingStreamsCreated,
     int bytesReceived,
     int packetsReceived,
     DOMHighResTimeStamp smoothedRtt,
@@ -149,17 +150,19 @@
   });
 }
 
-extension WebTransportConnectionStatsExtension on WebTransportConnectionStats {
+extension WebTransportStatsExtension on WebTransportStats {
   external set timestamp(DOMHighResTimeStamp value);
   external DOMHighResTimeStamp get timestamp;
   external set bytesSent(int value);
   external int get bytesSent;
   external set packetsSent(int value);
   external int get packetsSent;
-  external set bytesLost(int value);
-  external int get bytesLost;
   external set packetsLost(int value);
   external int get packetsLost;
+  external set numOutgoingStreamsCreated(int value);
+  external int get numOutgoingStreamsCreated;
+  external set numIncomingStreamsCreated(int value);
+  external int get numIncomingStreamsCreated;
   external set bytesReceived(int value);
   external int get bytesReceived;
   external set packetsReceived(int value);
diff --git a/lib/src/dom/webxr.dart b/lib/src/dom/webxr.dart
index 78e1c52..8e2f8f1 100644
--- a/lib/src/dom/webxr.dart
+++ b/lib/src/dom/webxr.dart
@@ -193,7 +193,7 @@
     XRSpace baseSpace,
   );
   external XRAnchorSet get trackedAnchors;
-  external XRMeshSet get detectedMeshes;
+  external XRMeshSet get detectedMeshs;
   external XRSession get session;
   external DOMHighResTimeStamp get predictedDisplayTime;
 }
diff --git a/lib/src/dom/xhr.dart b/lib/src/dom/xhr.dart
index 19628da..ecf89eb 100644
--- a/lib/src/dom/xhr.dart
+++ b/lib/src/dom/xhr.dart
@@ -9,7 +9,6 @@
 import 'attribution_reporting_api.dart';
 import 'dom.dart';
 import 'html.dart';
-import 'trust_token_api.dart';
 
 typedef FormDataEntryValue = JSAny;
 typedef XMLHttpRequestResponseType = String;
@@ -54,7 +53,6 @@
 extension XMLHttpRequestExtension on XMLHttpRequest {
   external void setAttributionReporting(
       AttributionReportingRequestOptions options);
-  external void setPrivateToken(PrivateToken privateToken);
   external void open(
     String method,
     String url, [
diff --git a/tool/generator/package-lock.json b/tool/generator/package-lock.json
index 24089c0..3ef8e80 100644
--- a/tool/generator/package-lock.json
+++ b/tool/generator/package-lock.json
@@ -10,7 +10,7 @@
       "license": "BSD 3",
       "dependencies": {
         "@webref/css": "^6.10.0",
-        "@webref/idl": "^3.23.0"
+        "@webref/idl": "3.37.0"
       },
       "devDependencies": {
         "web-specs": "^2.74.1",
@@ -26,11 +26,11 @@
       }
     },
     "node_modules/@webref/idl": {
-      "version": "3.39.1",
-      "resolved": "https://registry.npmjs.org/@webref/idl/-/idl-3.39.1.tgz",
-      "integrity": "sha512-dKPhh8b6LOL4p8NQjLwSovu5db4P7Fxkl7t6QnuG6e8EdztmD2jJYFV/d6nDaK/WBNFSZxssqJTT2EfJLVcphw==",
+      "version": "3.37.0",
+      "resolved": "https://registry.npmjs.org/@webref/idl/-/idl-3.37.0.tgz",
+      "integrity": "sha512-aJ/GeCKGGmi0comafhZz72hnZFlyeXvBv61m/Mxn90YIVb8kZ8JFnyq2PEb8agWkq/2BRMIj7DzTPK57jq6AZg==",
       "peerDependencies": {
-        "webidl2": "^24.4.1"
+        "webidl2": "^24.4.0"
       }
     },
     "node_modules/css-tree": {
diff --git a/tool/generator/package.json b/tool/generator/package.json
index 9b9b62d..6d14b5d 100644
--- a/tool/generator/package.json
+++ b/tool/generator/package.json
@@ -10,7 +10,7 @@
   "license": "BSD 3",
   "dependencies": {
     "@webref/css": "^6.10.0",
-    "@webref/idl": "^3.23.0"
+    "@webref/idl": "3.37.0"
   },
   "devDependencies": {
     "web-specs": "^2.74.1",