<body>
    <video id="video" width="300" controls></video>
    <script>
        if (window.internals)
            runPixelTests = internals.runtimeFlags.forceOverlayFullscreenVideoEnabled;
    </script>
    <script src="full-screen-test.js"></script>
    <script src=../media/media-file.js></script>
    <script>
        setSrcById("video", findMediaFile("video", "../media/content/test"));
        var video = document.getElementById('video');
        waitForEventTestAndEnd(document, 'webkitfullscreenchange', "video.clientWidth==document.body.clientWidth");
        runWithKeyDown(function(){video.webkitRequestFullScreen()});
    </script>
</body>
