<!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/repaint.js" type="text/javascript"></script>
    <script>
        function repaintTest()
        {
            document.getElementById('target1').style.width = 'auto';
            document.getElementById('target2').style.height = 'auto';
            document.getElementById('target3').style.display = 'block';
        }
    </script>
</head>
<body onload="runRepaintTest();">
    <div style="position: absolute; border: medium solid green; top: 8px; height: 100px;">
        <div class="narrow" id="target1">
            <div class="wide"></div>
        </div>
    </div>

    <div style="position: absolute; border: medium solid green; top: 158px; width: 100px;">
        <div class="short" id="target2">
            <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"></div>
        </div>
    </div>
</body>
</html>
