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