Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / modules / encryptedmedia / MediaKeys.idl
index a17d8d9..05dded4 100644 (file)
  * 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);
 };