summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/semantics/embedded-content/media-elements/track/track-element/track-cues-cuechange-dynamically-created-track-element.html
blob: f990bc8c72cd4b4a7bdc3ac43ac8d6bfd443fac5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!DOCTYPE html>
<title>'cuechange' event on dynamically created track element</title>
<meta name="timeout" content="long">
<script src="/common/media.js"></script>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<video>
<script>
/**
 * 'cuechange' event should be correctly dispatched on the dynamically created
 * track element.
 */
promise_test(function(t) {
  const video = document.querySelector("video");
  const track = document.createElement("track");
  track.src = "resources/cues-chrono-order.vtt";
  track.track.mode = "hidden";
  video.appendChild(track);

  const cueChangedPromise = new Promise(r => track.oncuechange = r);
  video.src = getVideoURI("/media/test");
  // 'TimeMarchesOn' algorithm will be run after calling 'play()', from which
  // the 'cuechange' event would be dispatched.
  video.play();
  return cueChangedPromise;
});
</script>
</video>