Chromium Code Reviews| 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; | |
| 16 var mediaKeySession; | 17 var mediaKeySession; |
| 17 var rawKey = new Uint8Array([0xeb, 0xdd, 0x62, 0xf1, 0x68, 0x14, 0xd2, 0x7b, | 18 var rawKey = new Uint8Array([0xeb, 0xdd, 0x62, 0xf1, 0x68, 0x14, 0xd2, 0x7b, |
| 18 0x68, 0xef, 0x12, 0x2a, 0xfc, 0xe4, 0xae, 0x3c]); | 19 0x68, 0xef, 0x12, 0x2a, 0xfc, 0xe4, 0xae, 0x3c]); |
| 19 | 20 |
| 20 function processMessage(event) | 21 function processMessage(event) |
| 21 { | 22 { |
| 22 assert_true(event instanceof window.MediaKeyMessageEvent); | 23 assert_true(event instanceof window.MediaKeyMessageEvent); |
| 23 assert_equals(event.target, mediaKeySession); | 24 assert_equals(event.target, mediaKeySession); |
| 24 assert_equals(event.type, 'message'); | 25 assert_equals(event.type, 'message'); |
| 25 assert_equals(event.messageType, 'license-request'); | 26 assert_equals(event.messageType, 'license-request'); |
| 26 | 27 |
| 27 var keyId = extractSingleKeyIdFromMessage(event.message); | 28 var keyId = extractSingleKeyIdFromMessage(event.message); |
| 28 var jwkSet = stringToUint8Array(createJWKSet(createJWK(keyId , rawKey))); | 29 var jwkSet = stringToUint8Array(createJWKSet(createJWK(keyId , rawKey))); |
| 29 | 30 |
| 30 waitForEventAndRunStep('keystatuseschange', mediaKeySession, test.step_func(processKeyStatusesChange), test); | 31 waitForEventAndRunStep('keystatuseschange', mediaKeySession, test.step_func(processKeyStatusesChange), test); |
| 31 | 32 |
| 32 mediaKeySession.update(jwkSet).catch(test.step_func(function (error) { | 33 mediaKeySession.update(jwkSet).catch(test.step_func(function (error) { |
| 33 forceTestFailureFromPromise(test, error); | 34 forceTestFailureFromPromise(test, error); |
| 34 })); | 35 })); |
| 35 } | 36 } |
| 36 | 37 |
| 37 function processKeyStatusesChange(event) | 38 function processKeyStatusesChange(event) |
| 38 { | 39 { |
| 39 assert_true(event instanceof Event); | 40 assert_true(event instanceof Event); |
| 40 assert_equals(event.target, mediaKeySession); | 41 assert_equals(event.target, mediaKeySession); |
| 41 assert_equals(event.type, 'keystatuseschange'); | 42 assert_equals(event.type, 'keystatuseschange'); |
| 42 test.done(); | 43 test.done(); |
| 43 } | 44 } |
| 44 | 45 |
| 45 navigator.requestMediaKeySystemAccess('org.w3.clearkey', [{}]).t hen(function(access) { | 46 getSupportedInitDataType().then(function(type) { |
| 47 initDataType = type; | |
| 48 return navigator.requestMediaKeySystemAccess('org.w3.clearke y', [{}]); | |
| 49 }).then(function(access) { | |
| 46 return access.createMediaKeys(); | 50 return access.createMediaKeys(); |
| 47 }).then(test.step_func(function(mediaKeys) { | 51 }).then(test.step_func(function(mediaKeys) { |
| 48 var initDataType = getInitDataType(); | |
| 49 mediaKeySession = mediaKeys.createSession(); | 52 mediaKeySession = mediaKeys.createSession(); |
| 50 waitForEventAndRunStep('message', mediaKeySession, test.step _func(processMessage), test); | 53 waitForEventAndRunStep('message', mediaKeySession, test.step _func(processMessage), test); |
| 51 return mediaKeySession.generateRequest(initDataType, getInit Data(initDataType)); | 54 return mediaKeySession.generateRequest(initDataType, getInit Data(initDataType)); |
|
sandersd (OOO until July 31)
2015/03/16 19:57:08
Why not the usual pattern of fetching this after g
jrummell
2015/03/16 20:44:09
Probably the first file I changed. Done.
| |
| 52 })).catch(test.step_func(function(error) { | 55 })).catch(test.step_func(function(error) { |
| 53 forceTestFailureFromPromise(test, error); | 56 forceTestFailureFromPromise(test, error); |
| 54 })); | 57 })); |
| 55 }, 'Verify v2 events.'); | 58 }, 'Verify v2 events.'); |
| 56 </script> | 59 </script> |
| 57 </body> | 60 </body> |
| 58 </html> | 61 </html> |
| OLD | NEW |