https://github.com/web-platform-tests/wpt
Raw File
Tip revision: fcd7eab70b2fc21f6db9d436fcc75c4b148265aa authored by Anne van Kesteren on 24 August 2018, 13:30:16 UTC
XHR: responseURL with fragment
Tip revision: fcd7eab
encrypted-media.idl
// 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,
 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;
};

[Exposed=Window]
partial interface HTMLMediaElement {
    [SecureContext]
    readonly attribute MediaKeys?   mediaKeys;
             attribute EventHandler onencrypted;
             attribute EventHandler onwaitingforkey;
    [SecureContext] Promise<void> setMediaKeys(MediaKeys? mediaKeys);
};

[Exposed=Window,
 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;
};
back to top