<html>
<head>
    <title>Test for http://bugs.webkit.org/show_bug.cgi?id=13544</title>
    <script type="text/javascript">
        if (window.testRunner)
            testRunner.waitUntilDone();
        function runTest()
        {
            var div = document.getElementById("target");
            div.style.visibility = 'hidden';
            // Now make this a layout hint to avoid the repaint done in setStyle().
            div.style.width = '50px';
            if (window.testRunner)
                testRunner.notifyDone();
        }
    </script>
</head>
<body onload="setTimeout(runTest, 0);">
    <div style="position: relative;">
        <div style="background: green; width: 100px; height: 100px;">
        </div>
        <div id="target" style="position: absolute; top: 0; width: 100px; height: 100px; background: red;">
        </div>
    </div>
</body>
</html>
