| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <html> | 2 <html> |
| 3 <head> | 3 <head> |
| 4 <title>Invalid Clear Key License.</title> | 4 <title>Invalid Clear Key License.</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 async_test(function(test) | 12 async_test(function(test) |
| 13 { | 13 { |
| 14 var initDataType; |
| 15 var initData; |
| 14 var invalidLicense = new Uint8Array( | 16 var invalidLicense = new Uint8Array( |
| 15 [0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77]); | 17 [0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77]); |
| 16 | 18 |
| 17 function handleMessage(event) { | 19 function handleMessage(event) { |
| 18 event.target.update(invalidLicense).then(function(event) { | 20 event.target.update(invalidLicense).then(function(event) { |
| 19 assert_unreached('Error: update() succeeded unexpectedly
.'); | 21 assert_unreached('Error: update() succeeded unexpectedly
.'); |
| 20 test.done(); | 22 test.done(); |
| 21 }).catch(function(error) { | 23 }).catch(function(error) { |
| 22 assert_equals(error.name, 'InvalidAccessError'); | 24 assert_equals(error.name, 'InvalidAccessError'); |
| 23 // Make sure we have system code appended. | 25 // Make sure we have system code appended. |
| 24 // Note: This is not required by the spec. Extract this | 26 // Note: This is not required by the spec. Extract this |
| 25 // out before we upstream this to W3C tests. | 27 // out before we upstream this to W3C tests. |
| 26 assert_true(error.message.endsWith(' (0)')); | 28 assert_true(error.message.endsWith(' (0)')); |
| 27 test.done(); | 29 test.done(); |
| 28 }); | 30 }); |
| 29 } | 31 } |
| 30 | 32 |
| 31 navigator.requestMediaKeySystemAccess('org.w3.clearkey', [{}]).t
hen(function(access) { | 33 getSupportedInitDataType().then(function(type) { |
| 34 initDataType = type; |
| 35 initData = getInitData(initDataType); |
| 36 return navigator.requestMediaKeySystemAccess('org.w3.clearke
y', [{}]); |
| 37 }).then(function(access) { |
| 32 return access.createMediaKeys(); | 38 return access.createMediaKeys(); |
| 33 }).then(function(mediaKeys) { | 39 }).then(function(mediaKeys) { |
| 34 var keySession = mediaKeys.createSession(); | 40 var keySession = mediaKeys.createSession(); |
| 35 keySession.addEventListener('message', handleMessage, false)
; | 41 keySession.addEventListener('message', handleMessage, false)
; |
| 36 keySession.generateRequest(getInitDataType(), getInitData(ge
tInitDataType())); | 42 keySession.generateRequest(initDataType, initData); |
| 37 }).catch(function(error) { | 43 }).catch(function(error) { |
| 38 forceTestFailureFromPromise(test, error); | 44 forceTestFailureFromPromise(test, error); |
| 39 }); | 45 }); |
| 40 }, 'Invalid Clear Key License.'); | 46 }, 'Invalid Clear Key License.'); |
| 41 </script> | 47 </script> |
| 42 </body> | 48 </body> |
| 43 </html> | 49 </html> |
| OLD | NEW |