<html>
<head>
    <link rel="stylesheet" href="resources/default.css">
    <script src="resources/repaint.js" type="text/javascript"></script>
    <script type="text/javascript">
        if (window.testRunner)
            testRunner.dumpAsText(true);
        function repaintTest()
        {
            document.getElementById('container').style.position = 'static';
        }
    </script>
</head>
<body style="height:2000px;" onload="runRepaintTest()">
    <!-- You should see 1 green rectangle in the output and no red. -->
    <div style="top: 200px; left: 100px;" class="fixed red"></div>
    <div id="container" style="top: 5000px;" class="relative"><div id="absoluteDiv" style="top: 700px; left:100px;" class="absolute green"></div></div>
    <script>
        window.scrollTo(0, 500);
    </script>
</body>
</html>
