| 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 |