<html>
<head>
    <script>
        if (window.testRunner)
          testRunner.dumpAsText();

        if (window.internals)
            internals.setPagination("LeftToRightPaginated", 0);

        function dumpLayers()
        {
            if (window.testRunner)
                document.getElementById('layers').innerText = window.internals.layerTreeAsText(document);
        }
        window.addEventListener('load', dumpLayers, false);
    </script>
    <style>
    .spacer {
        height: 350px;
        width: 100%;
        margin: 10px;
        background-color: silver;
    }
    
    .box {
        height: 100px;
        width: 100px;
        margin: 10px;
        background-color: blue;
    }
    .composited {
        -webkit-transform: rotate3d(0, 0, 1, 45deg);
    }
    </style>
</head>
<body>

  <div class="spacer"></div>
  <div class="spacer"></div>
  <div class="composited box"></div>
<pre id="layers">Layer tree goes here in DRT</pre>

</body>
</html>
