encrypted-media.idl (4427B)
1 // GENERATED CONTENT - DO NOT EDIT 2 // Content was automatically extracted by Reffy into webref 3 // (https://github.com/w3c/webref) 4 // Source: Encrypted Media Extensions (https://w3c.github.io/encrypted-media/) 5 6 [Exposed=Window] 7 partial interface Navigator { 8 [SecureContext] Promise<MediaKeySystemAccess> requestMediaKeySystemAccess ( 9 DOMString keySystem, 10 sequence<MediaKeySystemConfiguration> supportedConfigurations); 11 }; 12 13 enum MediaKeysRequirement { 14 "required", 15 "optional", 16 "not-allowed" 17 }; 18 19 dictionary MediaKeySystemConfiguration { 20 DOMString label = ""; 21 sequence<DOMString> initDataTypes = []; 22 sequence<MediaKeySystemMediaCapability> audioCapabilities = []; 23 sequence<MediaKeySystemMediaCapability> videoCapabilities = []; 24 MediaKeysRequirement distinctiveIdentifier = "optional"; 25 MediaKeysRequirement persistentState = "optional"; 26 sequence<DOMString> sessionTypes; 27 }; 28 29 dictionary MediaKeySystemMediaCapability { 30 DOMString contentType = ""; 31 DOMString? encryptionScheme = null; 32 DOMString robustness = ""; 33 }; 34 35 [Exposed=Window, SecureContext] interface MediaKeySystemAccess { 36 readonly attribute DOMString keySystem; 37 MediaKeySystemConfiguration getConfiguration (); 38 Promise<MediaKeys> createMediaKeys (); 39 }; 40 41 enum MediaKeySessionType { 42 "temporary", 43 "persistent-license" 44 }; 45 46 [Exposed=Window, SecureContext] interface MediaKeys { 47 MediaKeySession createSession (optional MediaKeySessionType sessionType = "temporary"); 48 Promise<MediaKeyStatus> getStatusForPolicy (optional MediaKeysPolicy policy = {}); 49 Promise<boolean> setServerCertificate (BufferSource serverCertificate); 50 }; 51 52 dictionary MediaKeysPolicy { 53 DOMString minHdcpVersion; 54 }; 55 56 enum MediaKeySessionClosedReason { 57 "internal-error", 58 "closed-by-application", 59 "release-acknowledged", 60 "hardware-context-reset", 61 "resource-evicted" 62 }; 63 64 [Exposed=Window, SecureContext] interface MediaKeySession : EventTarget { 65 readonly attribute DOMString sessionId; 66 readonly attribute unrestricted double expiration; 67 readonly attribute Promise<MediaKeySessionClosedReason> closed; 68 readonly attribute MediaKeyStatusMap keyStatuses; 69 attribute EventHandler onkeystatuseschange; 70 attribute EventHandler onmessage; 71 Promise<undefined> generateRequest (DOMString initDataType, BufferSource initData); 72 Promise<boolean> load (DOMString sessionId); 73 Promise<undefined> update (BufferSource response); 74 Promise<undefined> close (); 75 Promise<undefined> remove (); 76 }; 77 78 [Exposed=Window, SecureContext] interface MediaKeyStatusMap { 79 iterable<BufferSource,MediaKeyStatus>; 80 readonly attribute unsigned long size; 81 boolean has (BufferSource keyId); 82 (MediaKeyStatus or undefined) get (BufferSource keyId); 83 }; 84 85 enum MediaKeyStatus { 86 "usable", 87 "expired", 88 "released", 89 "output-restricted", 90 "output-downscaled", 91 "usable-in-future", 92 "status-pending", 93 "internal-error" 94 }; 95 96 enum MediaKeyMessageType { 97 "license-request", 98 "license-renewal", 99 "license-release", 100 "individualization-request" 101 }; 102 103 [Exposed=Window, SecureContext] 104 interface MediaKeyMessageEvent : Event { 105 constructor(DOMString type, MediaKeyMessageEventInit eventInitDict); 106 readonly attribute MediaKeyMessageType messageType; 107 readonly attribute ArrayBuffer message; 108 }; 109 110 dictionary MediaKeyMessageEventInit : EventInit { 111 required MediaKeyMessageType messageType; 112 required ArrayBuffer message; 113 }; 114 115 [Exposed=Window] partial interface HTMLMediaElement { 116 [SecureContext] readonly attribute MediaKeys? mediaKeys; 117 attribute EventHandler onencrypted; 118 attribute EventHandler onwaitingforkey; 119 [SecureContext] Promise<undefined> setMediaKeys (MediaKeys? mediaKeys); 120 }; 121 122 [Exposed=Window] 123 interface MediaEncryptedEvent : Event { 124 constructor(DOMString type, optional MediaEncryptedEventInit eventInitDict = {}); 125 readonly attribute DOMString initDataType; 126 readonly attribute ArrayBuffer? initData; 127 }; 128 129 dictionary MediaEncryptedEventInit : EventInit { 130 DOMString initDataType = ""; 131 ArrayBuffer? initData = null; 132 };