<!DOCTYPE html>
<html>
    <head>
        <script>
            var runPixelTests = true;

            function init() {
                var iframe = document.getElementById('block1');
                var element = iframe.contentDocument.documentElement;
                waitForEventAndEnd(element, 'webkitfullscreenchange');
                runWithKeyDown(goFullScreen);
            }

            function goFullScreen() {
               var iframe = document.getElementById('block1');
               var element = iframe.contentDocument.documentElement;
               element.webkitRequestFullScreen();
            }
        </script>
        <script src="full-screen-test.js"></script>
        <style>
            #block1 {
                width: 200px;
                height: 100px;
                border: 4px solid darkgreen;
                background-color: green;
                z-index: 0;
            }
            #block2 {
                width: 100px;
                height: 50px;
                border: 4px solid darkred;
                background-color: red;
                z-index: 500;
                position: relative;
                left: 50px;
                top: 25px;
            }
        </style>
    </head>
    <body onload="init()">
        <div>This tests that an element with a positive z-index appears behind the full screen element.
             After entering full screen mode, the whole screen should be white.
             Click <button onclick="goFullScreen()">go full screen</button> to run the test.</div>
        <div id="block2"></div>
        <iframe allowfullscreen src="resources/empty.html" id="block1"></iframe>
    </body>
</html>
