<p>To test manually, click the "Go full screen" button - the page should enter full screen mode.</p>
<script src="full-screen-test.js"></script>
<script>
function runTest() {
    var frame = document.getElementById('frame');
    frame.allowFullscreen = true;

    waitForEvent(frame.contentDocument, 'webkitfullscreenchange', function() { 
            test("document.getElementById('frame').contentDocument.width==document.width")
            endTest();
    });

    runWithKeyDown(function() {
        frame.contentDocument.documentElement.webkitRequestFullScreen();
    });
}
</script>
<iframe id="frame" src="resources/inner.html" width="300" height="100" onload="runTest()">
</iframe>
