| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <html> | 2 <html> |
| 3 <head> | 3 <head> |
| 4 <title>Verify v2 events</title> | 4 <title>Verify v2 events</title> |
| 5 <script src="encrypted-media-utils.js"></script> | 5 <script src="encrypted-media-utils.js"></script> |
| 6 <script src="../../resources/testharness.js"></script> | 6 <script src="../../resources/testharness.js"></script> |
| 7 <script src="../../resources/testharnessreport.js"></script> | 7 <script src="../../resources/testharnessreport.js"></script> |
| 8 </head> | 8 </head> |
| 9 <body> | 9 <body> |
| 10 <div id="log"></div> | 10 <div id="log"></div> |
| 11 <script> | 11 <script> |
| 12 // Currently Clear Key only generates aynchronous "message" and | 12 // Currently Clear Key only generates aynchronous "message" and |
| 13 // "keychange" events. | 13 // "keychange" events. |
| 14 async_test(function(test) | 14 async_test(function(test) |
| 15 { | 15 { |
| 16 var initDataType; |
| 17 var initData; |
| 16 var mediaKeySession; | 18 var mediaKeySession; |
| 17 var rawKey = new Uint8Array([0xeb, 0xdd, 0x62, 0xf1, 0x68, 0x14,
0xd2, 0x7b, | 19 var rawKey = new Uint8Array([0xeb, 0xdd, 0x62, 0xf1, 0x68, 0x14,
0xd2, 0x7b, |
| 18 0x68, 0xef, 0x12, 0x2a, 0xfc, 0xe4,
0xae, 0x3c]); | 20 0x68, 0xef, 0x12, 0x2a, 0xfc, 0xe4,
0xae, 0x3c]); |
| 19 | 21 |
| 20 function processMessage(event) | 22 function processMessage(event) |
| 21 { | 23 { |
| 22 assert_true(event instanceof window.MediaKeyMessageEvent); | 24 assert_true(event instanceof window.MediaKeyMessageEvent); |
| 23 assert_equals(event.target, mediaKeySession); | 25 assert_equals(event.target, mediaKeySession); |
| 24 assert_equals(event.type, 'message'); | 26 assert_equals(event.type, 'message'); |
| 25 assert_equals(event.messageType, 'license-request'); | 27 assert_equals(event.messageType, 'license-request'); |
| 26 | 28 |
| 27 var keyId = extractSingleKeyIdFromMessage(event.message); | 29 var keyId = extractSingleKeyIdFromMessage(event.message); |
| 28 var jwkSet = stringToUint8Array(createJWKSet(createJWK(keyId
, rawKey))); | 30 var jwkSet = stringToUint8Array(createJWKSet(createJWK(keyId
, rawKey))); |
| 29 | 31 |
| 30 waitForEventAndRunStep('keystatuseschange', mediaKeySession,
test.step_func(processKeyStatusesChange), test); | 32 waitForEventAndRunStep('keystatuseschange', mediaKeySession,
test.step_func(processKeyStatusesChange), test); |
| 31 | 33 |
| 32 mediaKeySession.update(jwkSet).catch(test.step_func(function
(error) { | 34 mediaKeySession.update(jwkSet).catch(test.step_func(function
(error) { |
| 33 forceTestFailureFromPromise(test, error); | 35 forceTestFailureFromPromise(test, error); |
| 34 })); | 36 })); |
| 35 } | 37 } |
| 36 | 38 |
| 37 function processKeyStatusesChange(event) | 39 function processKeyStatusesChange(event) |
| 38 { | 40 { |
| 39 assert_true(event instanceof Event); | 41 assert_true(event instanceof Event); |
| 40 assert_equals(event.target, mediaKeySession); | 42 assert_equals(event.target, mediaKeySession); |
| 41 assert_equals(event.type, 'keystatuseschange'); | 43 assert_equals(event.type, 'keystatuseschange'); |
| 42 test.done(); | 44 test.done(); |
| 43 } | 45 } |
| 44 | 46 |
| 45 navigator.requestMediaKeySystemAccess('org.w3.clearkey', [{}]).t
hen(function(access) { | 47 getSupportedInitDataType().then(function(type) { |
| 48 initDataType = type; |
| 49 initData = getInitData(initDataType); |
| 50 return navigator.requestMediaKeySystemAccess('org.w3.clearke
y', [{}]); |
| 51 }).then(function(access) { |
| 46 return access.createMediaKeys(); | 52 return access.createMediaKeys(); |
| 47 }).then(test.step_func(function(mediaKeys) { | 53 }).then(test.step_func(function(mediaKeys) { |
| 48 var initDataType = getInitDataType(); | |
| 49 mediaKeySession = mediaKeys.createSession(); | 54 mediaKeySession = mediaKeys.createSession(); |
| 50 waitForEventAndRunStep('message', mediaKeySession, test.step
_func(processMessage), test); | 55 waitForEventAndRunStep('message', mediaKeySession, test.step
_func(processMessage), test); |
| 51 return mediaKeySession.generateRequest(initDataType, getInit
Data(initDataType)); | 56 return mediaKeySession.generateRequest(initDataType, initDat
a); |
| 52 })).catch(test.step_func(function(error) { | 57 })).catch(test.step_func(function(error) { |
| 53 forceTestFailureFromPromise(test, error); | 58 forceTestFailureFromPromise(test, error); |
| 54 })); | 59 })); |
| 55 }, 'Verify v2 events.'); | 60 }, 'Verify v2 events.'); |
| 56 </script> | 61 </script> |
| 57 </body> | 62 </body> |
| 58 </html> | 63 </html> |
| OLD | NEW |