// 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 requestMediaKeySystemAccess (DOMString keySystem, sequence supportedConfigurations); }; enum MediaKeysRequirement { "required", "optional", "not-allowed" }; dictionary MediaKeySystemConfiguration { DOMString label = ""; sequence initDataTypes = []; sequence audioCapabilities = []; sequence videoCapabilities = []; MediaKeysRequirement distinctiveIdentifier = "optional"; MediaKeysRequirement persistentState = "optional"; sequence sessionTypes; }; dictionary MediaKeySystemMediaCapability { DOMString contentType = ""; DOMString? encryptionScheme = null; DOMString robustness = ""; }; [Exposed=Window, SecureContext] interface MediaKeySystemAccess { readonly attribute DOMString keySystem; MediaKeySystemConfiguration getConfiguration (); Promise createMediaKeys (); }; enum MediaKeySessionType { "temporary", "persistent-license" }; [Exposed=Window, SecureContext] interface MediaKeys { MediaKeySession createSession (optional MediaKeySessionType sessionType = "temporary"); Promise getStatusForPolicy (optional MediaKeysPolicy policy = {}); Promise setServerCertificate (BufferSource serverCertificate); }; dictionary MediaKeysPolicy { HDCPVersion minHdcpVersion; }; enum HDCPVersion { "1.0", "1.1", "1.2", "1.3", "1.4", "2.0", "2.1", "2.2", "2.3", }; 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 closed; readonly attribute MediaKeyStatusMap keyStatuses; attribute EventHandler onkeystatuseschange; attribute EventHandler onmessage; Promise generateRequest (DOMString initDataType, BufferSource initData); Promise load (DOMString sessionId); Promise update (BufferSource response); Promise close (); Promise remove (); }; [Exposed=Window, SecureContext] interface MediaKeyStatusMap { iterable; 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 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; };