summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/interfaces/encrypted-media.idl
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/interfaces/encrypted-media.idl')
-rw-r--r--testing/web-platform/tests/interfaces/encrypted-media.idl125
1 files changed, 125 insertions, 0 deletions
diff --git a/testing/web-platform/tests/interfaces/encrypted-media.idl b/testing/web-platform/tests/interfaces/encrypted-media.idl
new file mode 100644
index 0000000000..24db48ecf9
--- /dev/null
+++ b/testing/web-platform/tests/interfaces/encrypted-media.idl
@@ -0,0 +1,125 @@
+// GENERATED CONTENT - DO NOT EDIT
+// Content was automatically extracted by Reffy into webref
+// (https://github.com/w3c/webref)
+// Source: Encrypted Media Extensions (https://w3c.github.io/encrypted-media/)
+
+[Exposed=Window]
+partial interface Navigator {
+ [SecureContext] Promise<MediaKeySystemAccess> requestMediaKeySystemAccess (DOMString keySystem, sequence<MediaKeySystemConfiguration> supportedConfigurations);
+};
+
+enum MediaKeysRequirement {
+ "required",
+ "optional",
+ "not-allowed"
+};
+
+dictionary MediaKeySystemConfiguration {
+ DOMString label = "";
+ sequence<DOMString> initDataTypes = [];
+ sequence<MediaKeySystemMediaCapability> audioCapabilities = [];
+ sequence<MediaKeySystemMediaCapability> videoCapabilities = [];
+ MediaKeysRequirement distinctiveIdentifier = "optional";
+ MediaKeysRequirement persistentState = "optional";
+ sequence<DOMString> sessionTypes;
+};
+
+dictionary MediaKeySystemMediaCapability {
+ DOMString contentType = "";
+ DOMString? encryptionScheme = null;
+ DOMString robustness = "";
+};
+
+[Exposed=Window, SecureContext] interface MediaKeySystemAccess {
+ readonly attribute DOMString keySystem;
+ MediaKeySystemConfiguration getConfiguration ();
+ Promise<MediaKeys> createMediaKeys ();
+};
+
+enum MediaKeySessionType {
+ "temporary",
+ "persistent-license"
+};
+
+[Exposed=Window, SecureContext] interface MediaKeys {
+ MediaKeySession createSession (optional MediaKeySessionType sessionType = "temporary");
+ Promise<boolean> setServerCertificate (BufferSource serverCertificate);
+};
+
+enum MediaKeySessionClosedReason {
+ "internal-error",
+ "closed-by-application",
+ "release-acknowledged",
+ "hardware-context-reset",
+ "resource-evicted"
+};
+
+[Exposed=Window, SecureContext] interface MediaKeySession : EventTarget {
+ readonly attribute DOMString sessionId;
+ readonly attribute unrestricted double expiration;
+ readonly attribute Promise<MediaKeySessionClosedReason> closed;
+ readonly attribute MediaKeyStatusMap keyStatuses;
+ attribute EventHandler onkeystatuseschange;
+ attribute EventHandler onmessage;
+ Promise<undefined> generateRequest (DOMString initDataType, BufferSource initData);
+ Promise<boolean> load (DOMString sessionId);
+ Promise<undefined> update (BufferSource response);
+ Promise<undefined> close ();
+ Promise<undefined> remove ();
+};
+
+[Exposed=Window, SecureContext] interface MediaKeyStatusMap {
+ iterable<BufferSource,MediaKeyStatus>;
+ readonly attribute unsigned long size;
+ boolean has (BufferSource keyId);
+ (MediaKeyStatus or undefined) get (BufferSource keyId);
+};
+
+enum MediaKeyStatus {
+ "usable",
+ "expired",
+ "released",
+ "output-restricted",
+ "output-downscaled",
+ "usable-in-future",
+ "status-pending",
+ "internal-error"
+};
+
+enum MediaKeyMessageType {
+ "license-request",
+ "license-renewal",
+ "license-release",
+ "individualization-request"
+};
+
+[Exposed=Window, SecureContext]
+interface MediaKeyMessageEvent : Event {
+ constructor(DOMString type, MediaKeyMessageEventInit eventInitDict);
+ readonly attribute MediaKeyMessageType messageType;
+ readonly attribute ArrayBuffer message;
+};
+
+dictionary MediaKeyMessageEventInit : EventInit {
+ required MediaKeyMessageType messageType;
+ required ArrayBuffer message;
+};
+
+[Exposed=Window] partial interface HTMLMediaElement {
+ [SecureContext] readonly attribute MediaKeys? mediaKeys;
+ attribute EventHandler onencrypted;
+ attribute EventHandler onwaitingforkey;
+ [SecureContext] Promise<undefined> setMediaKeys (MediaKeys? mediaKeys);
+};
+
+[Exposed=Window]
+interface MediaEncryptedEvent : Event {
+ constructor(DOMString type, optional MediaEncryptedEventInit eventInitDict = {});
+ readonly attribute DOMString initDataType;
+ readonly attribute ArrayBuffer? initData;
+};
+
+dictionary MediaEncryptedEventInit : EventInit {
+ DOMString initDataType = "";
+ ArrayBuffer? initData = null;
+};