| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <html> | 2 <html> |
| 3 <head> | 3 <head> |
| 4 <title>Reset src after setMediaKeys()</title> | 4 <title>Reset src after setMediaKeys()</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 async_test(function(test) | 13 async_test(function(test) |
| 14 { | 14 { |
| 15 var mediaKeys; | 15 var mediaKeys; |
| 16 var encryptedEventIndex = 0; | 16 var encryptedEventIndex = 0; |
| 17 var video = document.getElementById('testVideo'); | 17 var video = document.getElementById('testVideo'); |
| 18 assert_not_equals(video, null); | 18 assert_not_equals(video, null); |
| 19 | 19 |
| 20 // Content to be played. These files must be the same format. |
| 21 var content = '../content/test-encrypted.webm'; |
| 22 var alternateContent = '../content/test-encrypted-different-av-k
eys.webm'; |
| 23 |
| 20 var onEncrypted = function(event) | 24 var onEncrypted = function(event) |
| 21 { | 25 { |
| 22 ++encryptedEventIndex; | 26 ++encryptedEventIndex; |
| 23 assert_not_equals(video.mediaKeys, null); | 27 assert_not_equals(video.mediaKeys, null); |
| 24 assert_true(video.mediaKeys === mediaKeys); | 28 assert_true(video.mediaKeys === mediaKeys); |
| 25 | 29 |
| 26 // This event is fired once for the audio stream and once | 30 // This event is fired once for the audio stream and once |
| 27 // for the video stream each time .src is set. | 31 // for the video stream each time .src is set. |
| 28 if (encryptedEventIndex == 2) { | 32 if (encryptedEventIndex == 2) { |
| 29 // Finished first video; set src to a different video. | 33 // Finished first video; set src to a different video. |
| 30 video.src = '../content/test-encrypted-different-av-keys
.webm'; | 34 video.src = alternateContent; |
| 31 } else if (encryptedEventIndex == 4) { | 35 } else if (encryptedEventIndex == 4) { |
| 32 // Finished second video. | 36 // Finished second video. |
| 33 test.done(); | 37 test.done(); |
| 34 } | 38 } |
| 35 }; | 39 }; |
| 36 | 40 |
| 37 // Create a MediaKeys object and assign it to video. | 41 // Create a MediaKeys object and assign it to video. |
| 38 navigator.requestMediaKeySystemAccess('org.w3.clearkey', [{}]) | 42 navigator.requestMediaKeySystemAccess('org.w3.clearkey', getConf
igurationForFile(content)) |
| 39 .then(function(access) { | 43 .then(function(access) { |
| 40 assert_equals(access.keySystem, 'org.w3.clearkey'); | 44 assert_equals(access.keySystem, 'org.w3.clearkey'); |
| 41 return access.createMediaKeys(); | 45 return access.createMediaKeys(); |
| 42 }).then(function(result) { | 46 }).then(function(result) { |
| 43 mediaKeys = result; | 47 mediaKeys = result; |
| 44 assert_not_equals(mediaKeys, null); | 48 assert_not_equals(mediaKeys, null); |
| 45 return video.setMediaKeys(mediaKeys); | 49 return video.setMediaKeys(mediaKeys); |
| 46 }).then(function(result) { | 50 }).then(function(result) { |
| 47 assert_not_equals(video.mediaKeys, null, 'not set initially'
); | 51 assert_not_equals(video.mediaKeys, null, 'not set initially'
); |
| 48 assert_true(video.mediaKeys === mediaKeys); | 52 assert_true(video.mediaKeys === mediaKeys); |
| 49 | 53 |
| 50 // Set src to a video. | 54 // Set src to a video. |
| 51 waitForEventAndRunStep('encrypted', video, onEncrypted, test
); | 55 waitForEventAndRunStep('encrypted', video, onEncrypted, test
); |
| 52 video.src = '../content/test-encrypted.webm'; | 56 video.src = content; |
| 53 }).catch(function(error) { | 57 }).catch(function(error) { |
| 54 forceTestFailureFromPromise(test, error); | 58 forceTestFailureFromPromise(test, error); |
| 55 }); | 59 }); |
| 56 }, 'Reset src after setMediaKeys().'); | 60 }, 'Reset src after setMediaKeys().'); |
| 57 </script> | 61 </script> |
| 58 </body> | 62 </body> |
| 59 </html> | 63 </html> |
| OLD | NEW |