| // GENERATED CONTENT - DO NOT EDIT |
| // Content was automatically extracted by Reffy into reffy-reports |
| // (https://github.com/tidoust/reffy-reports) |
| // 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 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); |
| }; |
| |
| [Exposed=Window, SecureContext] interface MediaKeySession : EventTarget { |
| readonly attribute DOMString sessionId; |
| readonly attribute unrestricted double expiration; |
| readonly attribute Promise<void> closed; |
| readonly attribute MediaKeyStatusMap keyStatuses; |
| attribute EventHandler onkeystatuseschange; |
| attribute EventHandler onmessage; |
| Promise<void> generateRequest (DOMString initDataType, BufferSource initData); |
| Promise<boolean> load (DOMString sessionId); |
| Promise<void> update (BufferSource response); |
| Promise<void> close (); |
| Promise<void> remove (); |
| }; |
| |
| [Exposed=Window, SecureContext] interface MediaKeyStatusMap { |
| iterable<BufferSource,MediaKeyStatus>; |
| readonly attribute unsigned long size; |
| boolean has (BufferSource keyId); |
| any get (BufferSource keyId); |
| }; |
| |
| enum MediaKeyStatus { |
| "usable", |
| "expired", |
| "released", |
| "output-restricted", |
| "output-downscaled", |
| "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<void> 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; |
| }; |