Index: modules/encryptedmedia/MediaKeys.idl |
diff --git a/modules/encryptedmedia/MediaKeys.idl b/modules/encryptedmedia/MediaKeys.idl |
index a17d8d903ca274a8b197fc4664869553d5b0475a..05dded46dae0f42b76153e5fd081176ceddaeb7c 100644 |
--- a/modules/encryptedmedia/MediaKeys.idl |
+++ b/modules/encryptedmedia/MediaKeys.idl |
@@ -23,17 +23,21 @@ |
* 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); |
}; |