| <!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] --> |
| <html> |
| <head> |
| <title>Selecting from a list of tracks</title> |
| <script src="media-controls.js"></script> |
| <script src="media-file.js"></script> |
| <script src="video-test.js"></script> |
| <script src="trackmenu-test.js"></script> |
| <script> |
| |
| function finishTest() |
| { |
| testExpected("video.textTracks[0].mode", "disabled"); |
| testExpected("video.textTracks[1].mode", "showing"); |
| listTrackMenu(); |
| |
| consoleWrite(""); |
| endTest(); |
| } |
| |
| function trackLoaded() |
| { |
| consoleWrite("<br>EVENT(load)"); |
| |
| consoleWrite("<br>*** The new track should be selected because it is in the preferred language."); |
| testExpected("event.target.srclang", "en"); |
| testExpected("event.target.readyState", HTMLTrackElement.LOADED); |
| |
| showMenu(finishTest); |
| } |
| |
| function startTest() |
| { |
| trackListElement = getTrackListElement(); |
| if (!trackListElement) |
| return; |
| |
| consoleWrite("<br>** The preferred language is set to English, but the Spanish track should be enabled because it is available"); |
| listTrackMenu(); |
| testExpected("video.textTracks[0].mode", "showing"); |
| clickCCButton(); |
| |
| consoleWrite("<br>*** Add a text track in the preferred language."); |
| run("track = document.createElement('track')"); |
| run("track.setAttribute('kind', 'captions')"); |
| uri = 'data:text/vtt,' + encodeURIComponent('WEBVTT\n\n00:00:00.000 --> 00:00:01.000\nCaption 1\n'); |
| run("track.src = '" + uri + "'"); |
| run("track.setAttribute('srclang', 'en')"); |
| run("track.setAttribute('onload', 'trackLoaded()')"); |
| run("video.appendChild(track)"); |
| } |
| |
| function showMenu(nextFunction) |
| { |
| clickCCButton(); |
| window.setTimeout(nextFunction, 100); |
| } |
| |
| function canplaythrough() |
| { |
| consoleWrite("<br>*** Set the user's preferred language to English, enable automatic caption selection."); |
| run("internals.setUserPreferredLanguages(['en'])"); |
| run("internals.setCaptionDisplayMode('AlwaysOn')"); |
| window.setTimeout(function() { showMenu(startTest) }, 100); |
| } |
| |
| function start() |
| { |
| findMediaElement(); |
| video.src = findMediaFile('video', 'content/test'); |
| setCaptionDisplayMode('Automatic'); |
| |
| waitForEvent('canplaythrough', canplaythrough); |
| } |
| </script> |
| </head> |
| |
| <body onload="start()"> |
| <p>Test that we update the menu when the selected track changes.</p> |
| <video width="500" height="300" controls> |
| <track kind="captions" title="Commentary" src="track/captions-webvtt/captions-fast.vtt" srclang="es"> |
| </video> |
| </body> |
| </html> |
| |