From 4eb788338e91415bda6b44b74361a1214c5dc2ad Mon Sep 17 00:00:00 2001 From: Kevin Moore Date: Wed, 11 Oct 2023 14:37:07 -0700 Subject: [PATCH] Update IDL, prepare to release v0.3.0 --- .github/workflows/publish.yaml | 3 + CHANGELOG.md | 3 +- README.md | 2 +- lib/src/dom/audio_session.dart | 23 +++++++ lib/src/dom/clipboard_apis.dart | 2 + lib/src/dom/css_font_loading.dart | 5 -- lib/src/dom/css_view_transitions_2.dart | 16 +++++ lib/src/dom/edit_context.dart | 19 +++--- lib/src/dom/fenced_frame.dart | 14 ++-- lib/src/dom/fetch.dart | 3 + lib/src/dom/html.dart | 17 ++++- lib/src/dom/intersection_observer.dart | 4 ++ lib/src/dom/shared_storage.dart | 10 +++ lib/src/dom/storage_buckets.dart | 12 +--- lib/src/dom/streams.dart | 4 ++ lib/src/dom/turtledove.dart | 7 ++ lib/src/dom/ua_client_hints.dart | 6 +- lib/src/dom/uievents.dart | 2 + lib/src/dom/webaudio.dart | 9 +++ lib/src/dom/webauthn.dart | 2 +- lib/src/dom/webgl2.dart | 64 +++++++++---------- lib/src/dom/webgl_multi_draw.dart | 20 +++--- ...w_instanced_base_vertex_base_instance.dart | 18 +++--- lib/src/dom/webrtc_encoded_transform.dart | 8 ++- lib/src/dom/webtransport.dart | 15 ++--- lib/web.dart | 2 + pubspec.yaml | 2 +- tool/bindings_generator/package-lock.json | 12 ++-- 28 files changed, 200 insertions(+), 104 deletions(-) create mode 100644 lib/src/dom/audio_session.dart create mode 100644 lib/src/dom/css_view_transitions_2.dart diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index f4163209..4887c8b4 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -5,6 +5,7 @@ name: Publish on: pull_request: branches: [ main ] + types: [opened, synchronize, reopened, labeled, unlabeled] push: tags: [ 'v[0-9]+.[0-9]+.[0-9]+*' ] @@ -12,3 +13,5 @@ jobs: publish: if: ${{ github.repository_owner == 'dart-lang' }} uses: dart-lang/ecosystem/.github/workflows/publish.yaml@main + with: + sdk: beta diff --git a/CHANGELOG.md b/CHANGELOG.md index fd699b39..41f50dee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ -## 0.2.3-wip +## 0.3.0 +- Updated source IDL to `v3.39.1`. - Fixed a bug where `typedef`s were not declared with the IDL type's nullability. - Types that were aliased to `double` are now aliased to `num`. This is to make diff --git a/README.md b/README.md index ff5530dc..e1aa00c7 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Lightweight DOM and JS bindings built around JS static interop. -Based on [`@webref/idl 3.38.2`](https://www.npmjs.com/package/@webref/idl/v/3.38.2) +Based on [`@webref/idl 3.39.1`](https://www.npmjs.com/package/@webref/idl/v/3.39.1) NOTE: This package is highly experimental. diff --git a/lib/src/dom/audio_session.dart b/lib/src/dom/audio_session.dart new file mode 100644 index 00000000..8cda6d03 --- /dev/null +++ b/lib/src/dom/audio_session.dart @@ -0,0 +1,23 @@ +// Copyright (c) 2023, 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. + +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 b084c8ef..4aa55595 100644 --- a/lib/src/dom/clipboard_apis.dart +++ b/lib/src/dom/clipboard_apis.dart @@ -44,6 +44,8 @@ class ClipboardItem implements JSObject { JSAny? items, [ ClipboardItemOptions options, ]); + + external static bool supports(String type); } extension ClipboardItemExtension on ClipboardItem { diff --git a/lib/src/dom/css_font_loading.dart b/lib/src/dom/css_font_loading.dart index cfa1d48b..5ce1dc36 100644 --- a/lib/src/dom/css_font_loading.dart +++ b/lib/src/dom/css_font_loading.dart @@ -20,7 +20,6 @@ class FontFaceDescriptors implements JSObject { String weight, String stretch, String unicodeRange, - String variant, String featureSettings, String variationSettings, String display, @@ -39,8 +38,6 @@ extension FontFaceDescriptorsExtension on FontFaceDescriptors { 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); @@ -77,8 +74,6 @@ extension FontFaceExtension on FontFace { 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 new file mode 100644 index 00000000..0cd07ce8 --- /dev/null +++ b/lib/src/dom/css_view_transitions_2.dart @@ -0,0 +1,16 @@ +// Copyright (c) 2023, 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. + +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/edit_context.dart b/lib/src/dom/edit_context.dart index d6e90740..6959c793 100644 --- a/lib/src/dom/edit_context.dart +++ b/lib/src/dom/edit_context.dart @@ -8,6 +8,9 @@ import 'dom.dart'; import 'geometry.dart'; import 'html.dart'; +typedef UnderlineStyle = String; +typedef UnderlineThickness = String; + @JS() @staticInterop @anonymous @@ -131,8 +134,8 @@ class TextFormatInit implements JSObject { external factory TextFormatInit({ int rangeStart, int rangeEnd, - String underlineStyle, - String underlineThickness, + UnderlineStyle underlineStyle, + UnderlineThickness underlineThickness, }); } @@ -141,10 +144,10 @@ extension TextFormatInitExtension on TextFormatInit { external int get rangeStart; external set rangeEnd(int value); external int get rangeEnd; - external set underlineStyle(String value); - external String get underlineStyle; - external set underlineThickness(String value); - external String get underlineThickness; + external set underlineStyle(UnderlineStyle value); + external UnderlineStyle get underlineStyle; + external set underlineThickness(UnderlineThickness value); + external UnderlineThickness get underlineThickness; } @JS('TextFormat') @@ -156,8 +159,8 @@ class TextFormat implements JSObject { extension TextFormatExtension on TextFormat { external int get rangeStart; external int get rangeEnd; - external String get underlineStyle; - external String get underlineThickness; + external UnderlineStyle get underlineStyle; + external UnderlineThickness get underlineThickness; } @JS() diff --git a/lib/src/dom/fenced_frame.dart b/lib/src/dom/fenced_frame.dart index 106057dc..c4e0346b 100644 --- a/lib/src/dom/fenced_frame.dart +++ b/lib/src/dom/fenced_frame.dart @@ -8,6 +8,7 @@ import 'html.dart'; typedef FencedFrameConfigSize = JSAny?; typedef FencedFrameConfigURL = String; +typedef UrnOrConfig = JSAny?; typedef ReportEventType = JSAny?; typedef OpaqueProperty = String; typedef FenceReportingDestination = String; @@ -46,10 +47,11 @@ extension FencedFrameConfigExtension on FencedFrameConfig { @anonymous class FenceEvent implements JSObject { external factory FenceEvent({ - required String eventType, - required String eventData, - required JSArray destination, + String eventType, + String eventData, + JSArray destination, bool once, + String destinationURL, }); } @@ -62,6 +64,8 @@ extension FenceEventExtension on FenceEvent { external JSArray get destination; external set once(bool value); external bool get once; + external set destinationURL(String value); + external String get destinationURL; } @JS('Fence') @@ -69,7 +73,7 @@ extension FenceEventExtension on FenceEvent { class Fence implements JSObject {} extension FenceExtension on Fence { - external JSVoid reportEvent(ReportEventType event); - external JSVoid setReportEventDataForAutomaticBeacons(FenceEvent event); + external JSVoid reportEvent([ReportEventType event]); + external JSVoid setReportEventDataForAutomaticBeacons([FenceEvent event]); external JSArray getNestedConfigs(); } diff --git a/lib/src/dom/fetch.dart b/lib/src/dom/fetch.dart index 3c4322d9..9f8adbed 100644 --- a/lib/src/dom/fetch.dart +++ b/lib/src/dom/fetch.dart @@ -110,6 +110,7 @@ class RequestInit implements JSObject { RequestPriority priority, JSAny? window, RequestTargetAddressSpace targetAddressSpace, + bool sharedStorageWritable, PrivateToken privateToken, }); } @@ -149,6 +150,8 @@ extension RequestInitExtension on RequestInit { 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 d0dd0810..9cfd6a7b 100644 --- a/lib/src/dom/html.dart +++ b/lib/src/dom/html.dart @@ -5,6 +5,7 @@ import 'dart:js_interop'; import 'attribution_reporting_api.dart'; +import 'audio_session.dart'; import 'autoplay_detection.dart'; import 'badging.dart'; import 'clipboard_apis.dart'; @@ -698,7 +699,11 @@ extension HTMLSourceElementExtension on HTMLSourceElement { @JS('HTMLImageElement') @staticInterop -class HTMLImageElement implements HTMLElement, HTMLAttributionSrcElementUtils { +class HTMLImageElement + implements + HTMLElement, + HTMLAttributionSrcElementUtils, + HTMLSharedStorageWritableElementUtils { external factory HTMLImageElement(); } @@ -754,7 +759,8 @@ extension HTMLImageElementExtension on HTMLImageElement { @JS('HTMLIFrameElement') @staticInterop -class HTMLIFrameElement implements HTMLElement { +class HTMLIFrameElement + implements HTMLElement, HTMLSharedStorageWritableElementUtils { external factory HTMLIFrameElement(); } @@ -1917,6 +1923,8 @@ class HTMLDetailsElement implements HTMLElement { } extension HTMLDetailsElementExtension on HTMLDetailsElement { + external set name(String value); + external String get name; external set open(bool value); external bool get open; } @@ -3903,6 +3911,10 @@ extension NavigatorExtension on Navigator { String keySystem, JSArray supportedConfigurations, ); + external JSPromise deprecatedReplaceInURN( + UrnOrConfig urnOrConfig, + JSAny? replacements, + ); external JSArray getGamepads(); external JSPromise getInstalledRelatedApps(); external JSVoid getUserMedia( @@ -3918,6 +3930,7 @@ extension NavigatorExtension on Navigator { external JSPromise share([ShareData data]); external bool canShare([ShareData data]); external JSPromise requestMIDIAccess([MIDIOptions options]); + external AudioSession get audioSession; external Clipboard get clipboard; external ContactsManager get contacts; external CredentialsContainer get credentials; diff --git a/lib/src/dom/intersection_observer.dart b/lib/src/dom/intersection_observer.dart index f84d13b4..a039d4cd 100644 --- a/lib/src/dom/intersection_observer.dart +++ b/lib/src/dom/intersection_observer.dart @@ -26,6 +26,7 @@ extension IntersectionObserverExtension on IntersectionObserver { external JSArray takeRecords(); external JSAny? get root; external String get rootMargin; + external String get scrollMargin; external JSArray get thresholds; } @@ -86,6 +87,7 @@ class IntersectionObserverInit implements JSObject { external factory IntersectionObserverInit({ JSAny? root, String rootMargin, + String scrollMargin, JSAny? threshold, }); } @@ -95,6 +97,8 @@ extension IntersectionObserverInitExtension on IntersectionObserverInit { external JSAny? 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/shared_storage.dart b/lib/src/dom/shared_storage.dart index 48a7aa31..deb4b57a 100644 --- a/lib/src/dom/shared_storage.dart +++ b/lib/src/dom/shared_storage.dart @@ -146,3 +146,13 @@ extension WorkletSharedStorageExtension on WorkletSharedStorage { external JSPromise length(); external JSPromise remainingBudget(); } + +@JS('HTMLSharedStorageWritableElementUtils') +@staticInterop +class HTMLSharedStorageWritableElementUtils implements JSObject {} + +extension HTMLSharedStorageWritableElementUtilsExtension + on HTMLSharedStorageWritableElementUtils { + external set sharedStorageWritable(bool value); + external bool get sharedStorageWritable; +} diff --git a/lib/src/dom/storage_buckets.dart b/lib/src/dom/storage_buckets.dart index 590b1cb9..68f6966e 100644 --- a/lib/src/dom/storage_buckets.dart +++ b/lib/src/dom/storage_buckets.dart @@ -8,8 +8,6 @@ import 'hr_time.dart'; import 'indexeddb.dart'; import 'service_workers.dart'; -typedef StorageBucketDurability = String; - @JS('NavigatorStorageBuckets') @staticInterop class NavigatorStorageBuckets implements JSObject {} @@ -36,18 +34,15 @@ extension StorageBucketManagerExtension on StorageBucketManager { @anonymous class StorageBucketOptions implements JSObject { external factory StorageBucketOptions({ - bool? persisted, - StorageBucketDurability? durability, + bool persisted, int? quota, DOMHighResTimeStamp? expires, }); } extension StorageBucketOptionsExtension on StorageBucketOptions { - external set persisted(bool? value); - external bool? get persisted; - external set durability(StorageBucketDurability? value); - external StorageBucketDurability? get durability; + external set persisted(bool value); + external bool get persisted; external set quota(int? value); external int? get quota; external set expires(DOMHighResTimeStamp? value); @@ -62,7 +57,6 @@ extension StorageBucketExtension on StorageBucket { 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 c205ac2c..d354df5f 100644 --- a/lib/src/dom/streams.dart +++ b/lib/src/dom/streams.dart @@ -19,6 +19,7 @@ typedef UnderlyingSinkAbortCallback = JSFunction; typedef TransformerStartCallback = JSFunction; typedef TransformerFlushCallback = JSFunction; typedef TransformerTransformCallback = JSFunction; +typedef TransformerCancelCallback = JSFunction; typedef QueuingStrategySize = JSFunction; typedef ReadableStreamReaderMode = String; typedef ReadableStreamType = String; @@ -317,6 +318,7 @@ class Transformer implements JSObject { TransformerStartCallback start, TransformerTransformCallback transform, TransformerFlushCallback flush, + TransformerCancelCallback cancel, JSAny? readableType, JSAny? writableType, }); @@ -329,6 +331,8 @@ extension TransformerExtension on Transformer { 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 e51e9b2e..3a87b486 100644 --- a/lib/src/dom/turtledove.dart +++ b/lib/src/dom/turtledove.dart @@ -15,6 +15,7 @@ class AuctionAd implements JSObject { JSAny? metadata, String buyerReportingId, String buyerAndSellerReportingId, + JSArray allowedReportingOrigins, }); } @@ -27,6 +28,8 @@ extension AuctionAdExtension on AuctionAd { external String get buyerReportingId; external set buyerAndSellerReportingId(String value); external String get buyerAndSellerReportingId; + external set allowedReportingOrigins(JSArray value); + external JSArray get allowedReportingOrigins; } @JS() @@ -272,6 +275,10 @@ extension InterestGroupReportingScriptRunnerGlobalScopeExtension on InterestGroupReportingScriptRunnerGlobalScope { external JSVoid sendReportTo(String url); external JSVoid registerAdBeacon(JSAny? map); + external JSVoid registerAdMacro( + String name, + String value, + ); } @JS() diff --git a/lib/src/dom/ua_client_hints.dart b/lib/src/dom/ua_client_hints.dart index a93583e5..8aa7c25a 100644 --- a/lib/src/dom/ua_client_hints.dart +++ b/lib/src/dom/ua_client_hints.dart @@ -29,7 +29,7 @@ class UADataValues implements JSObject { String architecture, String bitness, JSArray brands, - String formFactor, + JSArray formFactor, JSArray fullVersionList, String model, bool mobile, @@ -47,8 +47,8 @@ extension UADataValuesExtension on UADataValues { external String get bitness; external set brands(JSArray value); external JSArray get brands; - external set formFactor(String value); - external String get formFactor; + external set formFactor(JSArray value); + external JSArray 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 2e05b294..cd40d8cb 100644 --- a/lib/src/dom/uievents.dart +++ b/lib/src/dom/uievents.dart @@ -119,6 +119,8 @@ extension MouseEventExtension on MouseEvent { 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 b2c21475..ed459a75 100644 --- a/lib/src/dom/webaudio.dart +++ b/lib/src/dom/webaudio.dart @@ -14,6 +14,7 @@ typedef DecodeSuccessCallback = JSFunction; typedef AudioWorkletProcessorConstructor = JSFunction; typedef AudioWorkletProcessCallback = JSFunction; typedef AudioContextState = String; +typedef AudioContextRenderSizeCategory = String; typedef AudioContextLatencyCategory = String; typedef AudioSinkType = String; typedef ChannelCountMode = String; @@ -73,6 +74,7 @@ extension BaseAudioContextExtension on BaseAudioContext { 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; @@ -113,6 +115,7 @@ class AudioContextOptions implements JSObject { JSAny? latencyHint, num sampleRate, JSAny? sinkId, + JSAny? renderSizeHint, }); } @@ -123,6 +126,8 @@ extension AudioContextOptionsExtension on AudioContextOptions { external num get sampleRate; external set sinkId(JSAny? value); external JSAny? get sinkId; + external set renderSizeHint(JSAny? value); + external JSAny? get renderSizeHint; } @JS() @@ -252,6 +257,7 @@ class OfflineAudioContextOptions implements JSObject { int numberOfChannels, required int length, required num sampleRate, + JSAny? renderSizeHint, }); } @@ -262,6 +268,8 @@ extension OfflineAudioContextOptionsExtension on OfflineAudioContextOptions { external int get length; external set sampleRate(num value); external num get sampleRate; + external set renderSizeHint(JSAny? value); + external JSAny? get renderSizeHint; } @JS('OfflineAudioCompletionEvent') @@ -1242,6 +1250,7 @@ extension AudioWorkletGlobalScopeExtension on AudioWorkletGlobalScope { 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 37b7c170..cd48b2d2 100644 --- a/lib/src/dom/webauthn.dart +++ b/lib/src/dom/webauthn.dart @@ -10,7 +10,7 @@ import 'secure_payment_confirmation.dart'; import 'webidl.dart'; typedef Base64URLString = String; -typedef PublicKeyCredentialJSON = JSAny?; +typedef PublicKeyCredentialJSON = JSObject; typedef COSEAlgorithmIdentifier = int; typedef UvmEntry = JSArray; typedef UvmEntries = JSArray; diff --git a/lib/src/dom/webgl2.dart b/lib/src/dom/webgl2.dart index 3cdb1c70..c31ee2e0 100644 --- a/lib/src/dom/webgl2.dart +++ b/lib/src/dom/webgl2.dart @@ -311,7 +311,7 @@ extension WebGL2RenderingContextBaseExtension on WebGL2RenderingContextBase { GLenum target, GLintptr srcByteOffset, ArrayBufferView dstBuffer, [ - GLuint dstOffset, + int dstOffset, GLuint length, ]); external JSVoid blitFramebuffer( @@ -384,7 +384,7 @@ extension WebGL2RenderingContextBaseExtension on WebGL2RenderingContextBase { GLenum format, GLenum type, JSAny? pboOffsetOrSourceOrSrcData, [ - GLuint srcOffset, + int srcOffset, ]); external JSVoid texSubImage3D( GLenum target, @@ -398,7 +398,7 @@ extension WebGL2RenderingContextBaseExtension on WebGL2RenderingContextBase { GLenum format, GLenum type, JSAny? pboOffsetOrSourceOrSrcData, [ - GLuint srcOffset, + int srcOffset, ]); external JSVoid copyTexSubImage3D( GLenum target, @@ -466,67 +466,67 @@ extension WebGL2RenderingContextBaseExtension on WebGL2RenderingContextBase { external JSVoid uniform1uiv( WebGLUniformLocation? location, Uint32List data, [ - GLuint srcOffset, + int srcOffset, GLuint srcLength, ]); external JSVoid uniform2uiv( WebGLUniformLocation? location, Uint32List data, [ - GLuint srcOffset, + int srcOffset, GLuint srcLength, ]); external JSVoid uniform3uiv( WebGLUniformLocation? location, Uint32List data, [ - GLuint srcOffset, + int srcOffset, GLuint srcLength, ]); external JSVoid uniform4uiv( WebGLUniformLocation? location, Uint32List data, [ - GLuint srcOffset, + int srcOffset, GLuint srcLength, ]); external JSVoid uniformMatrix3x2fv( WebGLUniformLocation? location, GLboolean transpose, Float32List data, [ - GLuint srcOffset, + int srcOffset, GLuint srcLength, ]); external JSVoid uniformMatrix4x2fv( WebGLUniformLocation? location, GLboolean transpose, Float32List data, [ - GLuint srcOffset, + int srcOffset, GLuint srcLength, ]); external JSVoid uniformMatrix2x3fv( WebGLUniformLocation? location, GLboolean transpose, Float32List data, [ - GLuint srcOffset, + int srcOffset, GLuint srcLength, ]); external JSVoid uniformMatrix4x3fv( WebGLUniformLocation? location, GLboolean transpose, Float32List data, [ - GLuint srcOffset, + int srcOffset, GLuint srcLength, ]); external JSVoid uniformMatrix2x4fv( WebGLUniformLocation? location, GLboolean transpose, Float32List data, [ - GLuint srcOffset, + int srcOffset, GLuint srcLength, ]); external JSVoid uniformMatrix3x4fv( WebGLUniformLocation? location, GLboolean transpose, Float32List data, [ - GLuint srcOffset, + int srcOffset, GLuint srcLength, ]); external JSVoid vertexAttribI4i( @@ -588,19 +588,19 @@ extension WebGL2RenderingContextBaseExtension on WebGL2RenderingContextBase { GLenum buffer, GLint drawbuffer, Float32List values, [ - GLuint srcOffset, + int srcOffset, ]); external JSVoid clearBufferiv( GLenum buffer, GLint drawbuffer, Int32List values, [ - GLuint srcOffset, + int srcOffset, ]); external JSVoid clearBufferuiv( GLenum buffer, GLint drawbuffer, Uint32List values, [ - GLuint srcOffset, + int srcOffset, ]); external JSVoid clearBufferfi( GLenum buffer, @@ -744,14 +744,14 @@ extension WebGL2RenderingContextOverloadsExtension GLenum target, JSAny? sizeOrSrcData, GLenum usage, [ - GLuint srcOffset, + int srcOffset, GLuint length, ]); external JSVoid bufferSubData( GLenum target, GLintptr dstByteOffset, JSAny? srcData, [ - GLuint srcOffset, + int srcOffset, GLuint length, ]); external JSVoid texImage2D( @@ -764,7 +764,7 @@ extension WebGL2RenderingContextOverloadsExtension GLenum format, GLenum type, JSAny? pboOffsetOrPixelsOrSourceOrSrcData, - GLuint srcOffset, + int srcOffset, ]); external JSVoid texSubImage2D( GLenum target, @@ -776,7 +776,7 @@ extension WebGL2RenderingContextOverloadsExtension JSAny? formatOrSource, [ GLenum type, JSAny? pboOffsetOrPixelsOrSourceOrSrcData, - GLuint srcOffset, + int srcOffset, ]); external JSVoid compressedTexImage2D( GLenum target, @@ -804,70 +804,70 @@ extension WebGL2RenderingContextOverloadsExtension external JSVoid uniform1fv( WebGLUniformLocation? location, Float32List data, [ - GLuint srcOffset, + int srcOffset, GLuint srcLength, ]); external JSVoid uniform2fv( WebGLUniformLocation? location, Float32List data, [ - GLuint srcOffset, + int srcOffset, GLuint srcLength, ]); external JSVoid uniform3fv( WebGLUniformLocation? location, Float32List data, [ - GLuint srcOffset, + int srcOffset, GLuint srcLength, ]); external JSVoid uniform4fv( WebGLUniformLocation? location, Float32List data, [ - GLuint srcOffset, + int srcOffset, GLuint srcLength, ]); external JSVoid uniform1iv( WebGLUniformLocation? location, Int32List data, [ - GLuint srcOffset, + int srcOffset, GLuint srcLength, ]); external JSVoid uniform2iv( WebGLUniformLocation? location, Int32List data, [ - GLuint srcOffset, + int srcOffset, GLuint srcLength, ]); external JSVoid uniform3iv( WebGLUniformLocation? location, Int32List data, [ - GLuint srcOffset, + int srcOffset, GLuint srcLength, ]); external JSVoid uniform4iv( WebGLUniformLocation? location, Int32List data, [ - GLuint srcOffset, + int srcOffset, GLuint srcLength, ]); external JSVoid uniformMatrix2fv( WebGLUniformLocation? location, GLboolean transpose, Float32List data, [ - GLuint srcOffset, + int srcOffset, GLuint srcLength, ]); external JSVoid uniformMatrix3fv( WebGLUniformLocation? location, GLboolean transpose, Float32List data, [ - GLuint srcOffset, + int srcOffset, GLuint srcLength, ]); external JSVoid uniformMatrix4fv( WebGLUniformLocation? location, GLboolean transpose, Float32List data, [ - GLuint srcOffset, + int srcOffset, GLuint srcLength, ]); external JSVoid readPixels( @@ -878,7 +878,7 @@ extension WebGL2RenderingContextOverloadsExtension GLenum format, GLenum type, JSAny? dstDataOrOffset, [ - GLuint dstOffset, + int dstOffset, ]); } diff --git a/lib/src/dom/webgl_multi_draw.dart b/lib/src/dom/webgl_multi_draw.dart index f708b23f..62ea67ba 100644 --- a/lib/src/dom/webgl_multi_draw.dart +++ b/lib/src/dom/webgl_multi_draw.dart @@ -14,39 +14,39 @@ extension WEBGLMultiDrawExtension on WEBGL_multi_draw { external JSVoid multiDrawArraysWEBGL( GLenum mode, JSAny? firstsList, - GLuint firstsOffset, + int firstsOffset, JSAny? countsList, - GLuint countsOffset, + int countsOffset, GLsizei drawcount, ); external JSVoid multiDrawElementsWEBGL( GLenum mode, JSAny? countsList, - GLuint countsOffset, + int countsOffset, GLenum type, JSAny? offsetsList, - GLuint offsetsOffset, + int offsetsOffset, GLsizei drawcount, ); external JSVoid multiDrawArraysInstancedWEBGL( GLenum mode, JSAny? firstsList, - GLuint firstsOffset, + int firstsOffset, JSAny? countsList, - GLuint countsOffset, + int countsOffset, JSAny? instanceCountsList, - GLuint instanceCountsOffset, + int instanceCountsOffset, GLsizei drawcount, ); external JSVoid multiDrawElementsInstancedWEBGL( GLenum mode, JSAny? countsList, - GLuint countsOffset, + int countsOffset, GLenum type, JSAny? offsetsList, - GLuint offsetsOffset, + int offsetsOffset, JSAny? instanceCountsList, - GLuint instanceCountsOffset, + int 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 449befba..2af16804 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 @@ -16,28 +16,28 @@ extension WEBGLMultiDrawInstancedBaseVertexBaseInstanceExtension external JSVoid multiDrawArraysInstancedBaseInstanceWEBGL( GLenum mode, JSAny? firstsList, - GLuint firstsOffset, + int firstsOffset, JSAny? countsList, - GLuint countsOffset, + int countsOffset, JSAny? instanceCountsList, - GLuint instanceCountsOffset, + int instanceCountsOffset, JSAny? baseInstancesList, - GLuint baseInstancesOffset, + int baseInstancesOffset, GLsizei drawcount, ); external JSVoid multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL( GLenum mode, JSAny? countsList, - GLuint countsOffset, + int countsOffset, GLenum type, JSAny? offsetsList, - GLuint offsetsOffset, + int offsetsOffset, JSAny? instanceCountsList, - GLuint instanceCountsOffset, + int instanceCountsOffset, JSAny? baseVerticesList, - GLuint baseVerticesOffset, + int baseVerticesOffset, JSAny? baseInstancesList, - GLuint baseInstancesOffset, + int baseInstancesOffset, GLsizei drawcount, ); } diff --git a/lib/src/dom/webrtc_encoded_transform.dart b/lib/src/dom/webrtc_encoded_transform.dart index aa0f1178..2feb9ebe 100644 --- a/lib/src/dom/webrtc_encoded_transform.dart +++ b/lib/src/dom/webrtc_encoded_transform.dart @@ -94,6 +94,7 @@ class RTCEncodedVideoFrameMetadata implements JSObject { int payloadType, JSArray contributingSources, int timestamp, + int rtpTimestamp, }); } @@ -119,6 +120,8 @@ extension RTCEncodedVideoFrameMetadataExtension external JSArray get contributingSources; external set timestamp(int value); external int get timestamp; + external set rtpTimestamp(int value); + external int get rtpTimestamp; } @JS('RTCEncodedVideoFrame') @@ -128,7 +131,6 @@ class RTCEncodedVideoFrame implements JSObject {} extension RTCEncodedVideoFrameExtension on RTCEncodedVideoFrame { external RTCEncodedVideoFrameMetadata getMetadata(); external RTCEncodedVideoFrameType get type; - external int get timestamp; external set data(JSArrayBuffer value); external JSArrayBuffer get data; } @@ -142,6 +144,7 @@ class RTCEncodedAudioFrameMetadata implements JSObject { int payloadType, JSArray contributingSources, int sequenceNumber, + int rtpTimestamp, }); } @@ -155,6 +158,8 @@ extension RTCEncodedAudioFrameMetadataExtension external JSArray get contributingSources; external set sequenceNumber(int value); external int get sequenceNumber; + external set rtpTimestamp(int value); + external int get rtpTimestamp; } @JS('RTCEncodedAudioFrame') @@ -163,7 +168,6 @@ class RTCEncodedAudioFrame implements JSObject {} 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/webtransport.dart b/lib/src/dom/webtransport.dart index 0f9c9c72..d6fd83e1 100644 --- a/lib/src/dom/webtransport.dart +++ b/lib/src/dom/webtransport.dart @@ -130,14 +130,13 @@ extension WebTransportSendStreamOptionsExtension @JS() @staticInterop @anonymous -class WebTransportStats implements JSObject { - external factory WebTransportStats({ +class WebTransportConnectionStats implements JSObject { + external factory WebTransportConnectionStats({ DOMHighResTimeStamp timestamp, int bytesSent, int packetsSent, + int bytesLost, int packetsLost, - int numOutgoingStreamsCreated, - int numIncomingStreamsCreated, int bytesReceived, int packetsReceived, DOMHighResTimeStamp smoothedRtt, @@ -148,19 +147,17 @@ class WebTransportStats implements JSObject { }); } -extension WebTransportStatsExtension on WebTransportStats { +extension WebTransportConnectionStatsExtension on WebTransportConnectionStats { 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/web.dart b/lib/web.dart index 0ef514b9..109be681 100644 --- a/lib/web.dart +++ b/lib/web.dart @@ -8,6 +8,7 @@ export 'src/dom/anchors.dart'; export 'src/dom/angle_instanced_arrays.dart'; export 'src/dom/attribution_reporting_api.dart'; export 'src/dom/audio_output.dart'; +export 'src/dom/audio_session.dart'; export 'src/dom/autoplay_detection.dart'; export 'src/dom/background_fetch.dart'; export 'src/dom/background_sync.dart'; @@ -57,6 +58,7 @@ export 'src/dom/css_transitions.dart'; export 'src/dom/css_transitions_2.dart'; export 'src/dom/css_typed_om.dart'; export 'src/dom/css_view_transitions.dart'; +export 'src/dom/css_view_transitions_2.dart'; export 'src/dom/cssom.dart'; export 'src/dom/cssom_view.dart'; export 'src/dom/custom_state_pseudo_class.dart'; diff --git a/pubspec.yaml b/pubspec.yaml index 62ae36d9..d6f65f87 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: web description: >- Lightweight DOM and JS bindings built around JS static interop. -version: 0.2.3-wip +version: 0.3.0 repository: https://github.com/dart-lang/web diff --git a/tool/bindings_generator/package-lock.json b/tool/bindings_generator/package-lock.json index ec90cdde..f242a031 100644 --- a/tool/bindings_generator/package-lock.json +++ b/tool/bindings_generator/package-lock.json @@ -15,18 +15,18 @@ } }, "node_modules/@webref/css": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/@webref/css/-/css-6.7.1.tgz", - "integrity": "sha512-IfAjuePmlA35h4pttVyvgNIvr+KE3JxDWwI4rJkS3A0JMRLdrY9fO5bV8wq7GN2KpAxMpUHyNKZOgAKuZyV7MQ==", + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/@webref/css/-/css-6.8.1.tgz", + "integrity": "sha512-+GjGSdigPjTm82suc5Pr0x8L7OIGCe0WWFbMWh8P9goQcPDNzfaDKSPpzqgfmiP4pQlOQbSSohMlAGv8rKjwsA==", "dev": true, "peerDependencies": { "css-tree": "^2.3.1" } }, "node_modules/@webref/idl": { - "version": "3.38.2", - "resolved": "https://registry.npmjs.org/@webref/idl/-/idl-3.38.2.tgz", - "integrity": "sha512-sJ8vIAxM31atoAhP755jrd5UeFW1YQnR5PWe5ZPfl+S7SbwmsQncvZ05gkkUPtElPrQ0OwZ+UC0LSeQSXChZLQ==", + "version": "3.39.1", + "resolved": "https://registry.npmjs.org/@webref/idl/-/idl-3.39.1.tgz", + "integrity": "sha512-dKPhh8b6LOL4p8NQjLwSovu5db4P7Fxkl7t6QnuG6e8EdztmD2jJYFV/d6nDaK/WBNFSZxssqJTT2EfJLVcphw==", "dev": true, "peerDependencies": { "webidl2": "^24.4.1"