From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- .../tests/interfaces/encrypted-media.idl | 142 +++++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 testing/web-platform/tests/interfaces/encrypted-media.idl (limited to 'testing/web-platform/tests/interfaces/encrypted-media.idl') 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..f5d5aa8d6c --- /dev/null +++ b/testing/web-platform/tests/interfaces/encrypted-media.idl @@ -0,0 +1,142 @@ +// 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; +}; -- cgit v1.2.3