<!DOCTYPE html>
<title>Tests that the media player sends the User Agent string when requesting a media file.</title>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script src="../../media-resources/media-file.js"></script>
<body>
<video>
    <source></source>
</video>
<script>
async_test(function(t) {
    var movie = findMediaFile('video', 'test');
    var type = mimeTypeForExtension(movie.split('.').pop());
    var iframe = document.createElement('iframe');

    iframe.onload = t.step_func(function() {
        var video = document.querySelector('video');
        video.oncanplay = t.step_func_done();

        var source = document.querySelector('source');
        source.src = 'http://127.0.0.1:8000/media/resources/video-check-useragent.php?name=' + movie + '&type=' + type;
        source.type = type;
        source.onerror = t.unreached_func();
        video.load();
    });

    iframe.src = 'data:text/html,<b>test</b>';
    document.body.appendChild(iframe);
});
</script>