<!-- Based on fast/repaint/overflow-into-content.html -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <title>Test for http://bugs.webkit.org/show_bug.cgi?id=12885</title>
    <style type="text/css">
        div.wide { width: 100px; height: 50px; }
        div.narrow { width: 50px; }
        div.tall { width: 50px; height: 100px; }
        div.short { height: 50px; width: 50px; }
        #main-content { float: left; width: 100px; height: 80px; }
        #target3 { display: none; clear: both; height: 20px; background: green; }
    </style>
    <script src="resources/paint-invalidation-test.js" type="text/javascript"></script>
    <script>
        function paintInvalidationTest()
        {
            document.getElementById('target1').style.width = '';
            document.getElementById('target2').style.height = '';
            document.getElementById('target3').style.display = '';
        }
    </script>
</head>
<body onload="runPaintInvalidationTest();">
    <div style="position: absolute; border: medium solid green; top: 8px; height: 100px;">
        <div class="narrow" id="target1" style="width: auto;">
            <div class="wide"></div>
        </div>
    </div>

    <div style="position: absolute; border: medium solid green; top: 158px; width: 100px;">
        <div class="short" id="target2" style="height: auto;">
            <div class="tall"></div>
        </div>
    </div>

    <div style="position: absolute; top: 308px;">
        <div style="background: green;">
            <div style="position: relative;">
                <div id="main-content">
                </div>
            </div>
            <div id="target3" style="display: block;"></div>
        </div>
    </div>
</body>
</html>
