<!DOCTYPE html>
<html>
<head>
    <style>
        body {
            height: 1000px;
        }
        
        iframe {
            display: block;
            margin: 10px;
            border: 5px solid black;
        }
        
        #container {
            position: absolute;
            top: 10px;
            border: 4px solid green;
            padding: 10px;
        }
        
        #container {
            border: 4px solid orange;
        }
        
        #tree {
            position: absolute;
            top: 375px;
        }
    </style>
    <script>
        if (window.testRunner) {
            testRunner.dumpAsText();
            window.internals.settings.setScrollingTreeIncludesFrames(true);
        }

        function startTest()
        {
            if (window.internals)
                document.getElementById('tree').innerText = internals.scrollingStateTreeAsText();
        }
        
        window.addEventListener('load', startTest, false);
    </script>
</head>
<body>
    
    <div id="container">
        <iframe src="resources/doc-with-sticky.html" width="500" height="300"></iframe>
    </div>
<pre id="tree">Scrolling tree goes here</pre>
</body>
</html>
