<!DOCTYPE html>

<html>
<head>
    <style>
        .container {
            position: relative;
            height: 200px;
            width: 200px;
            border: 2px solid rgba(0, 0, 0, 0.2);
            overflow: hidden;
            margin: 10px;
            -webkit-perspective: 800px;
            -webkit-perspective-origin: 50px 50px;
        }
        
        .box {
            position: absolute;
            width: 500px;
            height: 500px;
            background-color: blue;
            -webkit-transform-origin: 102px 102px;
        }
    </style>
    <script>
        if (window.testRunner)
            testRunner.dumpAsText();

        function dumpLayers()
        {
            if (window.internals)
                document.getElementById('layers').innerText = internals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_VISIBLE_RECTS)
        }
        window.addEventListener('load', dumpLayers, false);
    </script>
</head>
<body>

    <div class="container">
        <div class="box" style="-webkit-transform: rotateX(45deg);"></div>
    </div>

    <div class="container">
        <div class="box" style="-webkit-transform: rotateY(-45deg)"></div>
    </div>

<pre id="layers">Layer tree goes here when testing</pre>
</body>
</html>
