<!DOCTYPE HTML> <html> <!-- https://bugzilla.mozilla.org/show_bug.cgi?id=881976 --> <head> <meta charset='utf-8'> <title>Test for Bug 881976 - TextTrackCue Computed Position</title> <script type="text/javascript" src="/MochiKit/MochiKit.js"></script> <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> </head> <body> <p id="display"></p> <div id="content"> </div> <pre id="test"> <script class="testbody" type="text/javascript"> SimpleTest.waitForExplicitFinish(); SpecialPowers.pushPrefEnv({"set": [["media.webvtt.regions.enabled", true]]}, function() { var video = document.createElement("video"); // Check if adding a text track manually sets the TextTrackList correctly. // HTMLTrackElement.textTrackList is an extension available only to // privileged code, so we need to access it through the SpecialPowers // object. video.addTextTrack("subtitles", "", ""); is(SpecialPowers.unwrap(SpecialPowers.wrap(video.textTracks[0]).textTrackList), video.textTracks, "The Track's TextTrackList should be the Video's TextTrackList."); // Check if loading a Track via a TrackElement sets the TextTrackList correctly. video.src = "seek.webm"; video.preload = "auto"; var trackElement = document.createElement("track"); trackElement.src = "basic.vtt"; trackElement.kind = "subtitles"; video.appendChild(trackElement); document.getElementById("content").appendChild(video); video.addEventListener("loadedmetadata", function run_tests() { // Re-que run_tests() at the end of the event loop until the track // element has loaded its data. if (trackElement.readyState == HTMLTrackElement.LOADING) { setTimeout(run_tests, 0); return; } is(trackElement.readyState, HTMLTrackElement.LOADED, "Track::ReadyState should be set to LOADED."); is(SpecialPowers.unwrap(SpecialPowers.wrap(trackElement.track).textTrackList), video.textTracks, "TrackElement's Track's TextTrackList should be the Video's TextTrackList."); SimpleTest.finish(); }); } ); </script> </pre> </body> </html>