OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <title>setMediaKeys() again after playback</title> | 4 <title>setMediaKeys() again after playback</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 <video id="testVideo"></video> | 10 <video></video> |
11 <div id="log"></div> | |
12 <script> | 11 <script> |
13 promise_test(function(test) | 12 promise_test(function(test) |
14 { | 13 { |
15 var video = document.getElementById('testVideo'); | 14 var video = document.querySelector('video'); |
16 var keyId = stringToUint8Array('0123456789012345'); | 15 var keyId = stringToUint8Array('0123456789012345'); |
17 var rawKey = new Uint8Array([0xeb, 0xdd, 0x62, 0xf1, 0x68, 0x14,
0xd2, 0x7b, | 16 var rawKey = new Uint8Array([0xeb, 0xdd, 0x62, 0xf1, 0x68, 0x14,
0xd2, 0x7b, |
18 0x68, 0xef, 0x12, 0x2a, 0xfc, 0xe4,
0xae, 0x3c]); | 17 0x68, 0xef, 0x12, 0x2a, 0xfc, 0xe4,
0xae, 0x3c]); |
19 var content = '../content/test-encrypted.webm'; | 18 var content = '../content/test-encrypted.webm'; |
20 var duration = 0.2; | 19 var duration = 0.2; |
21 | 20 |
22 return createMediaKeys(keyId, rawKey).then(function(mediaKeys) { | 21 return createMediaKeys(keyId, rawKey).then(function(mediaKeys) { |
23 return video.setMediaKeys(mediaKeys); | 22 return video.setMediaKeys(mediaKeys); |
24 }).then(function() { | 23 }).then(function() { |
25 return playVideoAndWaitForTimeupdate(video, content, duratio
n); | 24 return playVideoAndWaitForTimeupdate(video, content, duratio
n); |
26 }).then(function() { | 25 }).then(function() { |
27 // Now create a second MediaKeys. | 26 // Now create a second MediaKeys. |
28 return createMediaKeys(keyId, rawKey); | 27 return createMediaKeys(keyId, rawKey); |
29 }).then(function(mediaKeys) { | 28 }).then(function(mediaKeys) { |
30 // video is currently playing, so should not be able to | 29 // video is currently playing, so should not be able to |
31 // change MediaKeys now. | 30 // change MediaKeys now. |
32 assert_false(video.ended); | 31 assert_false(video.ended); |
33 return video.setMediaKeys(mediaKeys); | 32 return video.setMediaKeys(mediaKeys); |
34 }).then(function() { | 33 }).then(function() { |
35 assert_unreached('Able to change MediaKeys while playing.'); | 34 assert_unreached('Able to change MediaKeys while playing.'); |
36 }, function(error) { | 35 }, function(error) { |
37 // Error expected. | 36 // Error expected. |
38 assert_equals(error.name, 'InvalidStateError'); | 37 assert_equals(error.name, 'InvalidStateError'); |
39 return Promise.resolve('success'); | 38 return Promise.resolve('success'); |
40 }); | 39 }); |
41 }, 'setMediaKeys() again after playback'); | 40 }, 'setMediaKeys() again after playback'); |
42 </script> | 41 </script> |
43 </body> | 42 </body> |
44 </html> | 43 </html> |
OLD | NEW |