| <!DOCTYPE html> |
| <html> |
| <head> |
| <title>Test MediaKeySession closed event</title> |
| <script src="encrypted-media-utils.js"></script> |
| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| </head> |
| <body> |
| <script> |
| async_test(function(test) |
| { |
| var initDataType; |
| var initData; |
| var mediaKeySession; |
| |
| navigator.requestMediaKeySystemAccess('org.w3.clearkey', getSimpleConfiguration()).then(function(access) { |
| initDataType = access.getConfiguration().initDataTypes[0]; |
| initData = getInitData(initDataType); |
| return access.createMediaKeys(); |
| }).then(function(mediaKeys) { |
| mediaKeySession = mediaKeys.createSession(); |
| return mediaKeySession.generateRequest(initDataType, initData); |
| }).then(function() { |
| // Wait for the session to be closed. |
| mediaKeySession.closed.then(function(result) { |
| assert_equals(result, undefined); |
| // Now that the session is closed, verify that the |
| // closed attribute immediately returns a fulfilled |
| // promise. |
| return mediaKeySession.closed; |
| }).then(function(result) { |
| assert_equals(result, undefined); |
| test.done(); |
| }); |
| |
| // release() should result in the closed promise being |
| // fulfilled. |
| return mediaKeySession.close(); |
| }).catch(function(error) { |
| forceTestFailureFromPromise(test, error); |
| }); |
| }, 'Test MediaKeySession closed event.'); |
| </script> |
| </body> |
| </html> |