<!DOCTYPE HTML>
<html>
<head>
    <title>video-controls-dragstart</title>
    <style>
        video {  border: 1px solid black; }
    </style>
    <script src="video-test.js"></script>
    <script>
    function go() {
        video = document.getElementsByTagName('video')[0];
        waitForEventAndEnd('drag');

        if (window.eventSender) {
            eventSender.mouseMoveTo(video.offsetLeft + 10, video.offsetTop + 10);
            eventSender.mouseDown();
            eventSender.leapForward(200);
            eventSender.mouseMoveTo(video.offsetLeft + 100, video.offsetTop + 100);
            eventSender.mouseUp();
        }
    }
    </script>
<body onload="go()">
    <div>This tests that videos with controls enabled are still draggable. In a browser, start the test by dragging the video outside its controls area.</div>
    <video controls draggable="true"></video>
</body>
</html>
