mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-28 12:45:27 +00:00
Bug 1278198 - Update MediaKeySystemConfiguration and MediaKeys to match draft EME spec. r=smaug
The only thing we're now not up to date on (in terms of WebIDL) is the "persistent-usage-record" MediaKeySessionType. MozReview-Commit-ID: 4CKK35HAxKK --HG-- extra : rebase_source : b0dc35aeff2fb47c9a6a6bd4979bf2d537b2a515
This commit is contained in:
parent
fa5b0ee6cb
commit
60fedd5b6a
@ -10,18 +10,25 @@
|
|||||||
* W3C liability, trademark and document use rules apply.
|
* W3C liability, trademark and document use rules apply.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
enum MediaKeysRequirement {
|
||||||
|
"required",
|
||||||
|
"optional",
|
||||||
|
"not-allowed"
|
||||||
|
};
|
||||||
|
|
||||||
dictionary MediaKeySystemMediaCapability {
|
dictionary MediaKeySystemMediaCapability {
|
||||||
DOMString contentType = "";
|
DOMString contentType = "";
|
||||||
// TODO: robustness
|
DOMString robustness = "";
|
||||||
};
|
};
|
||||||
|
|
||||||
dictionary MediaKeySystemConfiguration {
|
dictionary MediaKeySystemConfiguration {
|
||||||
DOMString label = "";
|
DOMString label = "";
|
||||||
sequence<DOMString> initDataTypes;
|
sequence<DOMString> initDataTypes = [];
|
||||||
sequence<MediaKeySystemMediaCapability> audioCapabilities;
|
sequence<MediaKeySystemMediaCapability> audioCapabilities = [];
|
||||||
sequence<MediaKeySystemMediaCapability> videoCapabilities;
|
sequence<MediaKeySystemMediaCapability> videoCapabilities = [];
|
||||||
|
MediaKeysRequirement distinctiveIdentifier = "optional";
|
||||||
// TODO: distinctiveIdentifier, persistentState, sessionTypes
|
MediaKeysRequirement persistentState = "optional";
|
||||||
|
sequence<DOMString> sessionTypes;
|
||||||
};
|
};
|
||||||
|
|
||||||
[Pref="media.eme.apiVisible"]
|
[Pref="media.eme.apiVisible"]
|
||||||
|
@ -10,14 +10,20 @@
|
|||||||
* W3C liability, trademark and document use rules apply.
|
* W3C liability, trademark and document use rules apply.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
enum SessionType { "temporary", "persistent" };
|
// Note: "persistent-usage-record" session type is unsupported yet, as
|
||||||
|
// it's marked as "at risk" in the spec, and Chrome doesn't support it.
|
||||||
|
enum MediaKeySessionType {
|
||||||
|
"temporary",
|
||||||
|
"persistent-license",
|
||||||
|
// persistent-usage-record,
|
||||||
|
};
|
||||||
|
|
||||||
[Pref="media.eme.apiVisible"]
|
[Pref="media.eme.apiVisible"]
|
||||||
interface MediaKeys {
|
interface MediaKeys {
|
||||||
readonly attribute DOMString keySystem;
|
readonly attribute DOMString keySystem;
|
||||||
|
|
||||||
[NewObject, Throws]
|
[NewObject, Throws]
|
||||||
MediaKeySession createSession(optional SessionType sessionType = "temporary");
|
MediaKeySession createSession(optional MediaKeySessionType sessionType = "temporary");
|
||||||
|
|
||||||
[NewObject]
|
[NewObject]
|
||||||
Promise<void> setServerCertificate((ArrayBufferView or ArrayBuffer) serverCertificate);
|
Promise<void> setServerCertificate((ArrayBufferView or ArrayBuffer) serverCertificate);
|
||||||
|
Loading…
Reference in New Issue
Block a user