track-cues-cuechange-dynamically-created-track-element.html (930B)
1 <!DOCTYPE html> 2 <title>'cuechange' event on dynamically created track element</title> 3 <meta name="timeout" content="long"> 4 <script src="/common/media.js"></script> 5 <script src="/resources/testharness.js"></script> 6 <script src="/resources/testharnessreport.js"></script> 7 <video> 8 <script> 9 /** 10 * 'cuechange' event should be correctly dispatched on the dynamically created 11 * track element. 12 */ 13 promise_test(function(t) { 14 const video = document.querySelector("video"); 15 const track = document.createElement("track"); 16 track.src = "resources/cues-chrono-order.vtt"; 17 track.track.mode = "hidden"; 18 video.appendChild(track); 19 20 const cueChangedPromise = new Promise(r => track.oncuechange = r); 21 video.src = getVideoURI("/media/test"); 22 // 'TimeMarchesOn' algorithm will be run after calling 'play()', from which 23 // the 'cuechange' event would be dispatched. 24 video.play(); 25 return cueChangedPromise; 26 }); 27 </script> 28 </video>