| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| |
| <style> |
| video { background-color: yellow; width: 320px; height: 240px;} |
| </style> |
| <script src=../media-file.js></script> |
| <script src=../video-test.js></script> |
| <script> |
| |
| var timer = null; |
| var counter = 0; |
| |
| function trackLoaded() |
| { |
| consoleWrite("EVENT(load)"); |
| |
| // Don't log the track type because the load order is not predictable. |
| track = event.target; |
| testExpected("track.readyState", HTMLTrackElement.LOADED); |
| testExpected("track.kind", "captions", "!="); |
| |
| // End the test after a brief pause so we allow the third track to load if it will. |
| if (++counter == 2) |
| timer = setTimeout(endTest, 200); |
| |
| consoleWrite(""); |
| } |
| |
| function setTextTrackPreferences(type, flag) |
| { |
| if (!window.internals) { |
| consoleWrite("<b>**This test only works in DRT<" + "/b>"); |
| return; |
| } |
| |
| run("internals.settings.setShouldDisplayTrackKind('" + type + "', " + flag + ")"); |
| testExpected("internals.settings.shouldDisplayTrackKind('" + type + "')", flag); |
| } |
| |
| function createTrackElement(kind, src) |
| { |
| consoleWrite("<i>- creating '" + kind + "' track.<" + "/i>"); |
| var track = document.createElement('track'); |
| track.setAttribute('kind', kind); |
| track.setAttribute('onload', 'trackLoaded()'); |
| track.setAttribute('src', src); |
| video.appendChild(track); |
| } |
| |
| function createTrackElements() |
| { |
| var tracks = document.querySelectorAll('track'); |
| for (var ndx = 0; ndx < tracks.length; ++ndx) |
| video.removeChild(tracks[ndx]); |
| |
| createTrackElement("subtitles", "captions-webvtt/tc004-webvtt-file.vtt") |
| createTrackElement("captions", "captions-webvtt/tc004-webvtt-file.vtt") |
| createTrackElement("descriptions", "captions-webvtt/tc004-webvtt-file.vtt") |
| } |
| |
| function setup() |
| { |
| findMediaElement(); |
| |
| consoleWrite("<i>**Set preferences so subtitles and descriptions load, but captions do not<" + "/i>"); |
| setTextTrackPreferences("Subtitles", true); |
| setTextTrackPreferences("Captions", false); |
| setTextTrackPreferences("TextDescriptions", true); |
| |
| // Create track elements dynamically so they aren't processed by the media element |
| // until after we have configured preferences. |
| consoleWrite("<br><i>**Create track elements dynamically so they aren't processed by the media element until after preferences have been configured.<" + "/i>"); |
| createTrackElements(); |
| consoleWrite(""); |
| } |
| |
| </script> |
| </head> |
| <body onload="setup()"> |
| <p>Tests that the user preferences for track kind are honored.</p> |
| <video> |
| </video> |
| </body> |
| </html> |