<!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 = '';
            document.getElementById('target2').style.height = '';
            document.getElementById('target3').style.display = '';
        }
    </script>
</head>
<body onload="runRepaintTest();">
    <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>
