<p>Test for <a href="http://bugs.webkit.org/show_bug.cgi?id=56264">bug 56264</a>:
Handle entering full screen security restrictions</p>
<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');

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

    var x = frame.getBoundingClientRect().left + 10;
    var y = frame.getBoundingClientRect().top + 10;
    eventSender.mouseMoveTo(x, y);
    eventSender.mouseDown();
    eventSender.mouseUp();
}
</script>
<iframe id="frame" src="resources/inner.html" width="300" height="100" onload="runTest()" allowfullscreen>
</iframe>
