diff options
Diffstat (limited to 'testing/web-platform/tests/interfaces/encrypted-media.idl')
-rw-r--r-- | testing/web-platform/tests/interfaces/encrypted-media.idl | 125 |
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; +}; |