<!-- Based on fast/repaint/fixed-and-absolute-position-scrolled.html -->
<html>
<head>
    <link rel="stylesheet" href="../../../fast/repaint/resources/default.css">
    <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
    <script type="text/javascript">
        window.onload = function() {
            window.scrollTo(0, 500);
            runPaintInvalidationTest();
        }

        function paintInvalidationTest()
        {
            document.getElementById('container').style.position = 'static';
        }
    </script>
</head>
<body style="height:2000px;">
    <!-- 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>
</body>
</html>
