<!DOCTYPE html>
<title>Tests that the media player will send the relevant cookies when requesting the media file.</title>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<body>
<video></video>
<script>
async_test(function(t) {
    var movie = "resources/test.ogv";
    var frame = document.createElement("iframe");
    document.body.appendChild(frame);

    frame.onload = t.step_func(function() {
        var video = document.querySelector("video");
        video.src="http://127.0.0.1:8000/media/resources/video-cookie-check-cookie.php";
        video.oncanplay = t.step_func_done();
        video.play();
    });

    frame.src = "http://127.0.0.1:8000/media/resources/setCookie.cgi?name=" + movie;
});
</script>