<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 = 100;
            moveMeElement.scrollLeft = 50;
            var classes = moveMeElement.getAttribute("class");
            moveMeElement.setAttribute("class", classes + " rotated");
        }
    </script>
</head>
<body style="height:2000px;" onload="runRepaintTest()">
    <!-- You should see 1 green rectangle rotated in the output and no red. -->
    <div id="moveMe" style="top: 150px; left: 100px" class="absolute clipped">
        <div class="absolute green" style="top: 100px; left: 50px"></div>
        <div class="absolute red" style="top: 0px; left: 0px;"></div>
    </div>
</body>
</html>
