<p>Test controls placement. </p>
<video controls src="content/test.mp4"></video><br>
<video controls src="content/test.mp4" style="width: 320px;"></video><br>
<video controls src="content/test.mp4" style="position: absolute; width: 320px;"></video><br>

<script>
if (window.layoutTestController) {
    layoutTestController.waitUntilDone();
    setTimeout(function() { 
        document.body.appendChild(document.createTextNode('FAIL')); 
        if (window.layoutTestController)
                layoutTestController.notifyDone();
    } , 8000);
}
var count = document.getElementsByTagName('video').length;
document.addEventListener("load", function () {
    if (!--count) {
        document.body.offsetLeft;
        if (window.layoutTestController)
            layoutTestController.notifyDone();
    }
}, true);
</script>

