* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+enum SessionType {
+ "temporary",
+ "persistent"
+};
+
[
RuntimeEnabled=EncryptedMedia,
- Constructor(DOMString keySystem),
- ConstructorCallWith=ExecutionContext,
- RaisesException=Constructor,
GarbageCollected,
- TypeChecking=Interface|Nullable
+ TypeChecking=Interface
] interface MediaKeys {
readonly attribute DOMString keySystem;
- [CallWith=ExecutionContext, RaisesException] MediaKeySession createSession(DOMString type, Uint8Array initData);
+ [CallWith=ScriptState] static Promise create(DOMString keySystem);
+ [CallWith=ScriptState] Promise createSession(DOMString initDataType, ArrayBuffer initData, optional SessionType sessionType = "temporary");
+ [CallWith=ScriptState] Promise createSession(DOMString initDataType, ArrayBufferView initData, optional SessionType sessionType = "temporary");
static boolean isTypeSupported(DOMString keySystem, optional DOMString contentType = null);
};