| Index: third_party/WebKit/LayoutTests/media/video-preload.html
 | 
| diff --git a/third_party/WebKit/LayoutTests/media/video-preload.html b/third_party/WebKit/LayoutTests/media/video-preload.html
 | 
| index c02767aa0a393508d90c49fff3259dbebe7ea557..84925494a67b887a6a4458a6c1bd59477f50d863 100644
 | 
| --- a/third_party/WebKit/LayoutTests/media/video-preload.html
 | 
| +++ b/third_party/WebKit/LayoutTests/media/video-preload.html
 | 
| @@ -1,147 +1,58 @@
 | 
| -<!DOCTYPE HTML>
 | 
| -
 | 
| -<html>
 | 
| -    <head>
 | 
| -        <script src=media-file.js></script>
 | 
| -        <!-- TODO(foolip): 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 timer = null;
 | 
| -            var movieInfo =
 | 
| -            {
 | 
| -                current : -1,
 | 
| -                movies :
 | 
| -                [
 | 
| -                    {
 | 
| -                        // should not buffer, 'preload' is 'none'
 | 
| -                        preload : "none",
 | 
| -                        shouldBuffer : false,
 | 
| -                        autoPlay : false,
 | 
| -                        playInsteadOfLoad : false,
 | 
| -                        description : "until 'play()' is called",
 | 
| -                    },
 | 
| -                    {
 | 
| -                        // should buffer, because load() is called.
 | 
| -                        preload : "none",
 | 
| -                        shouldBuffer : true,
 | 
| -                        autoPlay : false,
 | 
| -                        playInsteadOfLoad : false,
 | 
| -                        description : "because 'load()' is called",
 | 
| -                    },
 | 
| -                    {
 | 
| -                        // should buffer, because play() is called.
 | 
| -                        preload : "none",
 | 
| -                        shouldBuffer : true,
 | 
| -                        autoPlay : false,
 | 
| -                        playInsteadOfLoad : true,
 | 
| -                        description : "because 'play()' is called",
 | 
| -                    },
 | 
| -                    {
 | 
| -                        preload : "metadata",
 | 
| -                        shouldBuffer : true,
 | 
| -                        autoPlay : false,
 | 
| -                        playInsteadOfLoad : false,
 | 
| -                        description : "",
 | 
| -                    },
 | 
| -                    {
 | 
| -                        preload : "auto",
 | 
| -                        shouldBuffer : true,
 | 
| -                        autoPlay : false,
 | 
| -                        playInsteadOfLoad : false,
 | 
| -                        description : "",
 | 
| -                    },
 | 
| -                    {
 | 
| -                        // should buffer because 'autoplay' is set
 | 
| -                        preload : "none",
 | 
| -                        shouldBuffer : true,
 | 
| -                        autoPlay : true,
 | 
| -                        playInsteadOfLoad : false,
 | 
| -                        description : " because of 'autoplay'",
 | 
| -                    },
 | 
| -                ]
 | 
| -            };
 | 
| -            var timer = null;
 | 
| -
 | 
| -            function checkLoad()
 | 
| -            {
 | 
| -                var movie = movieInfo.movies[movieInfo.current];
 | 
| -
 | 
| -                logResult(true, "did not buffer automatically");
 | 
| -
 | 
| -                // start playback, which should force data to load
 | 
| +<!DOCTYPE html>
 | 
| +<title>Test media loading behaviour with different "preload" values.</title>
 | 
| +<script src="../resources/testharness.js"></script>
 | 
| +<script src="../resources/testharnessreport.js"></script>
 | 
| +<script src="media-file.js"></script>
 | 
| +<script>
 | 
| +var movies = [
 | 
| +    // should not buffer, "preload" is "none".
 | 
| +    { preload: "none", shouldBuffer: false, autoPlay: false },
 | 
| +    // should buffer because "autoplay" is set.
 | 
| +    { preload: "none", shouldBuffer: true, autoPlay: true },
 | 
| +    // should buffer, because load() is called.
 | 
| +    { preload: "none", shouldBuffer: true, autoPlay: false, load: "" },
 | 
| +    // should buffer, because play() is called.
 | 
| +    { preload: "none", shouldBuffer: true, autoPlay: false, play: "" },
 | 
| +    // should buffer because "preload" is "metadata".
 | 
| +    { preload: "metadata", shouldBuffer: true, autoPlay: false },
 | 
| +    // should buffer because "preload" is "auto".
 | 
| +    { preload: "auto", shouldBuffer: true, autoPlay: false }
 | 
| +];
 | 
| +
 | 
| +for (var movie of movies) {
 | 
| +    async_test(function(t) {
 | 
| +        var video = document.createElement("video");
 | 
| +        video.onerror = t.step_func(function() {});
 | 
| +        video.onloadstart = t.step_func(function() {});
 | 
| +        video.onplay = t.step_func(function() {});
 | 
| +
 | 
| +        video.onloadedmetadata = t.step_func_done(function() {
 | 
| +            assert_true(movie.shouldBuffer);
 | 
| +        });
 | 
| +
 | 
| +        setupAttribute("preload", movie.preload);
 | 
| +        setupAttribute("autoplay", movie.autoPlay);
 | 
| +        video.src = findMediaFile("video", "content/test");
 | 
| +
 | 
| +        if (movie.hasOwnProperty("play"))
 | 
| +            video.play();
 | 
| +        else if (movie.hasOwnProperty("load"))
 | 
| +            video.load();
 | 
| +
 | 
| +        if (!movie.shouldBuffer) {
 | 
| +            setTimeout(function() {
 | 
| +                // start playback, which should force data to load.
 | 
|                  movie.shouldBuffer = true;
 | 
| -                run("video.play()");
 | 
| -            }
 | 
| -
 | 
| -            function loadedmetadata()
 | 
| -            {
 | 
| -                var movie = movieInfo.movies[movieInfo.current];
 | 
| -
 | 
| -                clearTimeout(timer);
 | 
| -                logResult(movie.shouldBuffer, "buffered automatically");
 | 
| -                openNextMovie();
 | 
| -            }
 | 
| -
 | 
| -            function setupAttribute(attr, value)
 | 
| -            {
 | 
| -                if (value)
 | 
| -                    run("video.setAttribute('" + attr + "', '" + value + "')");
 | 
| -                else
 | 
| -                    run("video.removeAttribute('" + attr + "')");
 | 
| -            }
 | 
| -
 | 
| -            function openNextMovie()
 | 
| -            {
 | 
| -                consoleWrite("");
 | 
| -
 | 
| -                movieInfo.current++;
 | 
| -                if (movieInfo.current >= movieInfo.movies.length)
 | 
| -                {
 | 
| -                    endTest();
 | 
| -                    return;
 | 
| -                }
 | 
| -
 | 
| -                var movie = movieInfo.movies[movieInfo.current];
 | 
| -                var url = findMediaFile("video", "content/test");
 | 
| -                var desc = "Will load with <em>'preload=" + movie.preload + "'</em>"
 | 
| -                            + ", <b>should" + (movie.shouldBuffer ? "" : " not") + " </b> buffer automatically "
 | 
| -                            + movie.description;
 | 
| -                consoleWrite(desc);
 | 
| -
 | 
| -                setupAttribute('preload', movie.preload);
 | 
| -                setupAttribute('autoplay', movie.autoPlay);
 | 
| -
 | 
| -                video.src = url;
 | 
| -                if (movieInfo.current > 0) {
 | 
| -                    if (movie.playInsteadOfLoad) {
 | 
| -                        run("video.play()");
 | 
| -                    } else {
 | 
| -                        run("video.load()");
 | 
| -                    }
 | 
| -                }
 | 
| -                if (!movie.shouldBuffer)
 | 
| -                    timer = setTimeout(checkLoad, 200);
 | 
| -            }
 | 
| -
 | 
| -            function start()
 | 
| -            {
 | 
| -                findMediaElement();
 | 
| -
 | 
| -                waitForEvent("error");
 | 
| -                waitForEvent("loadstart");
 | 
| -                waitForEvent("play");
 | 
| -                waitForEvent('loadedmetadata', loadedmetadata);
 | 
| -
 | 
| -                openNextMovie();
 | 
| -            }
 | 
| -
 | 
| -        </script>
 | 
| -    </head>
 | 
| -
 | 
| -    <body onload="start()">
 | 
| -        <p>Test to see if media loads automatically when 'preload' is specified.</p>
 | 
| -        <video controls ></video>
 | 
| -    </body>
 | 
| -</html>
 | 
| +                video.play();
 | 
| +            }, 200);
 | 
| +        }
 | 
| +
 | 
| +        function setupAttribute(attr, value) {
 | 
| +            if (value)
 | 
| +                video.setAttribute(attr, value);
 | 
| +            else
 | 
| +                video.removeAttribute(attr);
 | 
| +        }
 | 
| +    });
 | 
| +}
 | 
| +</script>
 | 
| 
 |