blob: 0013ce4288c1982a5df3027ea8b95ee980fd2342 [file] [log] [blame]
// 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';
import 'webidl.dart';
typedef MediaKeysRequirement = String;
typedef MediaKeySessionType = String;
typedef MediaKeySessionClosedReason = String;
typedef MediaKeyStatus = String;
typedef MediaKeyMessageType = String;
@JS()
@staticInterop
@anonymous
class MediaKeySystemConfiguration {
external factory MediaKeySystemConfiguration({
String label,
JSArray initDataTypes,
JSArray audioCapabilities,
JSArray videoCapabilities,
MediaKeysRequirement distinctiveIdentifier,
MediaKeysRequirement persistentState,
JSArray sessionTypes,
});
}
extension MediaKeySystemConfigurationExtension on MediaKeySystemConfiguration {
external set label(String value);
external String get label;
external set initDataTypes(JSArray value);
external JSArray get initDataTypes;
external set audioCapabilities(JSArray value);
external JSArray get audioCapabilities;
external set videoCapabilities(JSArray value);
external JSArray get videoCapabilities;
external set distinctiveIdentifier(MediaKeysRequirement value);
external MediaKeysRequirement get distinctiveIdentifier;
external set persistentState(MediaKeysRequirement value);
external MediaKeysRequirement get persistentState;
external set sessionTypes(JSArray value);
external JSArray get sessionTypes;
}
@JS()
@staticInterop
@anonymous
class MediaKeySystemMediaCapability {
external factory MediaKeySystemMediaCapability({
String contentType,
String? encryptionScheme,
String robustness,
});
}
extension MediaKeySystemMediaCapabilityExtension
on MediaKeySystemMediaCapability {
external set contentType(String value);
external String get contentType;
external set encryptionScheme(String? value);
external String? get encryptionScheme;
external set robustness(String value);
external String get robustness;
}
@JS('MediaKeySystemAccess')
@staticInterop
class MediaKeySystemAccess {}
extension MediaKeySystemAccessExtension on MediaKeySystemAccess {
external MediaKeySystemConfiguration getConfiguration();
external JSPromise createMediaKeys();
external String get keySystem;
}
@JS('MediaKeys')
@staticInterop
class MediaKeys {}
extension MediaKeysExtension on MediaKeys {
external MediaKeySession createSession([MediaKeySessionType sessionType]);
external JSPromise setServerCertificate(BufferSource serverCertificate);
}
@JS('MediaKeySession')
@staticInterop
class MediaKeySession implements EventTarget {}
extension MediaKeySessionExtension on MediaKeySession {
external JSPromise generateRequest(
String initDataType,
BufferSource initData,
);
external JSPromise load(String sessionId);
external JSPromise update(BufferSource response);
external JSPromise close();
external JSPromise remove();
external String get sessionId;
external num get expiration;
external JSPromise get closed;
external MediaKeyStatusMap get keyStatuses;
external set onkeystatuseschange(EventHandler value);
external EventHandler get onkeystatuseschange;
external set onmessage(EventHandler value);
external EventHandler get onmessage;
}
@JS('MediaKeyStatusMap')
@staticInterop
class MediaKeyStatusMap {}
extension MediaKeyStatusMapExtension on MediaKeyStatusMap {
external bool has(BufferSource keyId);
external MediaKeyStatus? get(BufferSource keyId);
external int get size;
}
@JS('MediaKeyMessageEvent')
@staticInterop
class MediaKeyMessageEvent implements Event {
external factory MediaKeyMessageEvent(
String type,
MediaKeyMessageEventInit eventInitDict,
);
}
extension MediaKeyMessageEventExtension on MediaKeyMessageEvent {
external MediaKeyMessageType get messageType;
external JSArrayBuffer get message;
}
@JS()
@staticInterop
@anonymous
class MediaKeyMessageEventInit implements EventInit {
external factory MediaKeyMessageEventInit({
required MediaKeyMessageType messageType,
required JSArrayBuffer message,
});
}
extension MediaKeyMessageEventInitExtension on MediaKeyMessageEventInit {
external set messageType(MediaKeyMessageType value);
external MediaKeyMessageType get messageType;
external set message(JSArrayBuffer value);
external JSArrayBuffer get message;
}
@JS('MediaEncryptedEvent')
@staticInterop
class MediaEncryptedEvent implements Event {
external factory MediaEncryptedEvent(
String type, [
MediaEncryptedEventInit eventInitDict,
]);
}
extension MediaEncryptedEventExtension on MediaEncryptedEvent {
external String get initDataType;
external JSArrayBuffer? get initData;
}
@JS()
@staticInterop
@anonymous
class MediaEncryptedEventInit implements EventInit {
external factory MediaEncryptedEventInit({
String initDataType,
JSArrayBuffer? initData,
});
}
extension MediaEncryptedEventInitExtension on MediaEncryptedEventInit {
external set initDataType(String value);
external String get initDataType;
external set initData(JSArrayBuffer? value);
external JSArrayBuffer? get initData;
}