Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(206)

Unified Diff: third_party/WebKit/LayoutTests/imported/wpt/encrypted-media/EncryptedMediaExtensions.idl

Issue 2546853003: Add W3C encrypted-media tests (Closed)
Patch Set: rebase now that content files landed Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/imported/wpt/encrypted-media/EncryptedMediaExtensions.idl
diff --git a/third_party/WebKit/LayoutTests/imported/wpt/encrypted-media/EncryptedMediaExtensions.idl b/third_party/WebKit/LayoutTests/imported/wpt/encrypted-media/EncryptedMediaExtensions.idl
new file mode 100644
index 0000000000000000000000000000000000000000..fbe898b2060b81a6a1462843e51a8d00bede55a3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/imported/wpt/encrypted-media/EncryptedMediaExtensions.idl
@@ -0,0 +1,119 @@
+// Encrypted Media Extensions WebIDL
+//
+// NOTE: Please update the link below to the specification version from
+// which this IDL was extracted.
+//
+// https://www.w3.org/TR/2016/WD-encrypted-media-20160610/
+// + commit 5499821932391ae2c2e53756ae7ab9fae89d5863
+//
+
+partial interface Navigator {
+ 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 = "";
+};
+
+interface MediaKeySystemAccess {
+ readonly attribute DOMString keySystem;
+ MediaKeySystemConfiguration getConfiguration ();
+ Promise<MediaKeys> createMediaKeys ();
+};
+
+enum MediaKeySessionType {
+ "temporary",
+ "persistent-usage-record",
+ "persistent-license"
+};
+
+interface MediaKeys {
+ MediaKeySession createSession (optional MediaKeySessionType sessionType = "temporary");
+ Promise<boolean> setServerCertificate (BufferSource serverCertificate);
+};
+
+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 ();
+};
+
+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"
+};
+
+[Constructor(DOMString type, MediaKeyMessageEventInit eventInitDict)]
+interface MediaKeyMessageEvent : Event {
+ readonly attribute MediaKeyMessageType messageType;
+ readonly attribute ArrayBuffer message;
+};
+
+dictionary MediaKeyMessageEventInit : EventInit {
+ required MediaKeyMessageType messageType;
+ required ArrayBuffer message;
+};
+
+// partial interface HTMLMediaElement : EventTarget {
+partial interface HTMLMediaElement {
+ readonly attribute MediaKeys? mediaKeys;
+ attribute EventHandler onencrypted;
+ attribute EventHandler onwaitingforkey;
+ Promise<void> setMediaKeys (MediaKeys? mediaKeys);
+};
+
+[Constructor(DOMString type, optional MediaEncryptedEventInit eventInitDict)]
+interface MediaEncryptedEvent : Event {
+ readonly attribute DOMString initDataType;
+ readonly attribute ArrayBuffer? initData;
+};
+
+dictionary MediaEncryptedEventInit : EventInit {
+ DOMString initDataType = "";
+ ArrayBuffer? initData = null;
+};
+

Powered by Google App Engine
This is Rietveld 408576698