| Index: third_party/WebKit/LayoutTests/media/track/track-mode.html | 
| diff --git a/third_party/WebKit/LayoutTests/media/track/track-mode.html b/third_party/WebKit/LayoutTests/media/track/track-mode.html | 
| index e9da0256fa690a0503af2fc77a50c9f8592e0a5a..bb4562f1b52c8cb7ace21b3b65cd3b8e102bb25a 100644 | 
| --- a/third_party/WebKit/LayoutTests/media/track/track-mode.html | 
| +++ b/third_party/WebKit/LayoutTests/media/track/track-mode.html | 
| @@ -1,93 +1,61 @@ | 
| <!DOCTYPE html> | 
| -<html> | 
| -    <head> | 
| - | 
| -        <script src=../media-file.js></script> | 
| -        <!-- TODO(philipj): Convert test to testharness.js. crbug.com/588956 | 
| -             (Please avoid writing new tests using video-test.js) --> | 
| -        <script src=../video-test.js></script> | 
| -        <script> | 
| - | 
| -            var textTrack; | 
| -            var cueCount; | 
| - | 
| -            function setMode(value) | 
| -            { | 
| -                run("textTrack.mode = '" + value + "'"); | 
| -                testExpected("textTrack.mode", value); | 
| -                testExpected("video.textTracks[0].mode", value); | 
| -                if (value == "disabled") | 
| -                    testExpected("textTrack.cues", null); | 
| -                else | 
| -                    testExpected("textTrack.cues.length", textTrack.cues.length); | 
| -                consoleWrite(""); | 
| -            } | 
| - | 
| -            function start() | 
| -            { | 
| -                findMediaElement(); | 
| -                cueCount = 0; | 
| -                consoleWrite(""); | 
| - | 
| -                textTrack = document.getElementById('track_1').track; | 
| - | 
| -                consoleWrite("<b>++ Test default attribute value</b>"); | 
| -                testExpected("textTrack.mode", "showing"); | 
| -                testExpected("video.textTracks[0].mode", "showing"); | 
| -                consoleWrite(""); | 
| - | 
| -                consoleWrite("<b>*** Set to bogus value, should return default</b>"); | 
| -                var value = "bogus"; | 
| -                run("textTrack.mode = '" + value + "'"); | 
| -                testExpected("textTrack.mode", "showing"); | 
| -                testExpected("video.textTracks[0].mode", "showing"); | 
| -                consoleWrite(""); | 
| - | 
| -                consoleWrite("<b>*** Set to numeric value (no longer supported), should return default</b>"); | 
| -                run("textTrack.mode = 2"); | 
| -                testExpected("textTrack.mode", "showing"); | 
| -                testExpected("video.textTracks[0].mode", "showing"); | 
| -                consoleWrite(""); | 
| - | 
| -                consoleWrite("<b>*** Set to known values</b>"); | 
| -                consoleWrite("<b>++ 'disabled'</b>"); | 
| -                setMode("disabled"); | 
| - | 
| -                video.src = findMediaFile("video", "../content/test"); | 
| -                video.play(); | 
| -                // Wait for end of first cue (no events should fire while track is disabled). | 
| -                setTimeout(testHiddenAndShowing, 400); | 
| -                consoleWrite("++ 0 events expected while mode = disabled"); | 
| -                consoleWrite(""); | 
| -            } | 
| - | 
| -            function testHiddenAndShowing() | 
| -            { | 
| -                consoleWrite("<b>++ 'hidden'</b>"); | 
| -                setMode("hidden"); | 
| - | 
| -                consoleWrite("<b>++ 'showing'</b>"); | 
| -                setMode("showing"); | 
| - | 
| -                consoleWrite("++ at least " + textTrack.cues.length + " events expected while mode = showing"); | 
| -            } | 
| - | 
| -            waitForEvent('cuechange', | 
| -                function (event) | 
| -                { | 
| -                    cueCount++; | 
| -                    if (cueCount == textTrack.cues.length) | 
| -                        endTest(); | 
| - | 
| -                } | 
| -            ); | 
| - | 
| -        </script> | 
| -    </head> | 
| -    <body> | 
| -        <p>Tests that the TextTrack mode attribute is appropriately set.</p> | 
| -        <video> | 
| -            <track id=track_1 src="captions-webvtt/captions-fast.vtt" onload="start()" default> | 
| -        </video> | 
| -    </body> | 
| -</html> | 
| +<title>Tests that the TextTrack mode attribute is appropriately set.</title> | 
| +<script src="../media-file.js"></script> | 
| +<script src="../../resources/testharness.js"></script> | 
| +<script src="../../resources/testharnessreport.js"></script> | 
| +<video> | 
| +    <track src="captions-webvtt/captions-fast.vtt" default> | 
| +</video> | 
| +<script> | 
| +async_test(function(t) { | 
| +    var video = document.querySelector("video"); | 
| +    var track = document.querySelector("track"); | 
| +    track.onload = t.step_func(trackLoaded); | 
| + | 
| +    var cueCount = 0; | 
| +    var textTrack; | 
| +    function trackLoaded() { | 
| +        textTrack = track.track; | 
| +        // Test default attribute value. | 
| +        assert_equals(textTrack.mode, "showing"); | 
| +        assert_equals(video.textTracks[0].mode, "showing"); | 
| +        // Set to bogus value, should return default. | 
| +        var value = "bogus"; | 
| +        textTrack.mode = value; | 
| +        assert_equals(textTrack.mode, "showing"); | 
| +        assert_equals(video.textTracks[0].mode, "showing"); | 
| + | 
| +        // Set to numeric value (no longer supported), should return default. | 
| +        textTrack.mode = 2; | 
| +        assert_equals(textTrack.mode, "showing"); | 
| +        assert_equals(video.textTracks[0].mode, "showing"); | 
| + | 
| +        // Set to known values. | 
| +        setModeAndCheck("disabled"); | 
| + | 
| +        video.src = findMediaFile("video", "../content/test"); | 
| +        video.play(); | 
| +        // Wait for end of first cue (no events should fire while track is disabled). | 
| +        setTimeout(testHiddenAndShowing, 400); | 
| +    } | 
| + | 
| +    track.oncuechange = t.step_func(function(event) { | 
| +        cueCount++; | 
| +        if (cueCount == textTrack.cues.length) | 
| +            t.done(); | 
| +    }); | 
| + | 
| +    function setModeAndCheck(value) { | 
| +        textTrack.mode =  value; | 
| +        assert_equals(textTrack.mode, value); | 
| +        assert_equals(video.textTracks[0].mode, value); | 
| +        if (value == "disabled") | 
| +            assert_equals(textTrack.cues, null); | 
| +    } | 
| + | 
| +    function testHiddenAndShowing() { | 
| +        setModeAndCheck("hidden"); | 
| +        setModeAndCheck("showing"); | 
| +    } | 
| +}); | 
| +</script> | 
|  |