<html>
<head>
    <link rel="stylesheet" href="resources/default.css"></style>
    <script src="resources/repaint.js" type="text/javascript"></script>
    <script type="text/javascript">
        if (window.testRunner)
            testRunner.dumpAsText(true);

        function repaintTest()
        {
            var moveMeElement = document.getElementById('moveMe');
            moveMeElement.scrollTop = 250;
            moveMeElement.scrollLeft = 150;
        }
    </script>
</head>
<body style="height:2000px;" onload="runRepaintTest()">
    <!-- You should see 1 green rectangle rotated in the output and no red. -->
    <div class="rotated">
        <div id="moveMe" style="top: 100px; left: 250px;" class="fixed clipped">
            <div class="absolute green" style="top: 250px; left: 150px;"></div>
            <div class="absolute red" style="top: 0px; left: 0px; height: 250px; width: 150px;"></div>
        </div>
    </div>
    <!-- Make sure we are scrolled -->
    <div style="top: 0px; left: 0px;" class="absolute red"></div>
    <script>
        window.scrollTo(100, 180);
    </script>
</body>
</html>
