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 |