<head>
<title>Verify v2 events</title>
<script src="encrypted-media-utils.js"></script>
- <script src="../w3c-media-utils.js"></script>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
</head>
<body>
<div id="log"></div>
<script>
+ // Currently Clear Key only generates aynchronous "message" events.
+ // It does not generate any "error" events.
+ // FIXME: Update this test to handle "keychange" events once
+ // implemented.
async_test(function(test)
{
var mediaKeySession;
- var initData = stringToUint8Array('mock');
- var invalidKey = stringToUint8Array('invalid');
- var validKeyId = stringToUint8Array('123');
- var validKeyValue = stringToUint8Array('1234567890abcdef');
- var validKey = stringToUint8Array(createJWKSet(createJWK(validKeyId, validKeyValue)));
function processMessage(event)
{
- mediaKeySession.update(invalidKey);
- waitForEventAndRunStep('error', mediaKeySession, processError, test);
- }
-
- function processError(event)
- {
- mediaKeySession.update(validKey);
- waitForEventAndRunStep('ready', mediaKeySession, processReady, test);
- }
-
- function processReady(event)
- {
- mediaKeySession.release();
- waitForEventAndRunStep('close', mediaKeySession, processClose, test);
- }
-
- function processClose(event)
- {
test.done();
}
- var mediaKeys = new MediaKeys("org.w3.clearkey");
- mediaKeySession = mediaKeys.createSession("video/webm", initData);
- waitForEventAndRunStep('message', mediaKeySession, processMessage, test);
- }, "Verify v2 events.");
+ MediaKeys.create('org.w3.clearkey').then(test.step_func(function(mediaKeys) {
+ var initDataType = getInitDataType();
+ return mediaKeys.createSession(initDataType, getInitData(initDataType));
+ })).then(test.step_func(function(result) {
+ mediaKeySession = result;
+ waitForEventAndRunStep('message', mediaKeySession, test.step_func(processMessage), test);
+ })).catch(test.step_func(function(error) {
+ forceTestFailureFromPromise(test, error);
+ }));
+ }, 'Verify v2 events.');
</script>
</body>
-</html>
\ No newline at end of file
+</html>