<!-- webkit-test-runner [ enableBackForwardCache=true ] -->
<!DOCTYPE html>
<html>
<head>
    <script>
        if (window.testRunner) {
            testRunner.dumpAsText();
            testRunner.waitUntilDone();
            testRunner.setCanOpenWindows();
        }

        window.finishedTest = function (layerTree)
        {
            document.getElementById('layers').innerText = layerTree;
            testRunner.notifyDone();
        }

        function doTest()
        {
            window.open("resources/scroll-and-load-page.html");
        }
        window.addEventListener('load', doTest, false);
    </script>
</head>
<body>
<pre id="layers">Layer tree goes here</p>
</body>
</html>
