tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

MediaKeys.webidl (1651B)


      1 /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
      2 /* This Source Code Form is subject to the terms of the Mozilla Public
      3 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
      4 * You can obtain one at http://mozilla.org/MPL/2.0/.
      5 *
      6 * The origin of this IDL file is
      7 * https://dvcs.w3.org/hg/html-media/raw-file/default/encrypted-media/encrypted-media.html
      8 *
      9 * Copyright © 2014 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved.
     10 * W3C liability, trademark and document use rules apply.
     11 */
     12 
     13 // Note: "persistent-usage-record" session type is unsupported yet, as
     14 // it's marked as "at risk" in the spec, and Chrome doesn't support it.
     15 enum MediaKeySessionType {
     16  "temporary",
     17  "persistent-license",
     18  // persistent-usage-record,
     19 };
     20 
     21 // https://www.w3.org/TR/eme-hdcp-version-registry/
     22 enum HDCPVersion {
     23    "1.0",
     24    "1.1",
     25    "1.2",
     26    "1.3",
     27    "1.4",
     28    "2.0",
     29    "2.1",
     30    "2.2",
     31    "2.3",
     32 };
     33 
     34 // https://w3c.github.io/encrypted-media/#idl-def-mediakeyspolicy
     35 // The spec uses DOMString, but it's equivalent for us to use enum. We will keep
     36 // the enum up to date with the registry.
     37 dictionary MediaKeysPolicy {
     38  HDCPVersion minHdcpVersion;
     39 };
     40 
     41 [Exposed=Window]
     42 interface MediaKeys {
     43  readonly attribute DOMString keySystem;
     44 
     45  [NewObject, Throws]
     46  MediaKeySession createSession(optional MediaKeySessionType sessionType = "temporary");
     47 
     48  [NewObject]
     49  Promise<undefined> setServerCertificate(BufferSource serverCertificate);
     50 
     51  [Pref="media.eme.hdcp-policy-check.enabled", NewObject]
     52  Promise<MediaKeyStatus> getStatusForPolicy(optional MediaKeysPolicy policy = {});
     53 };