<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
        "http://www.w3.org/TR/html4/strict.dtd">

<head>
    <script type="text/javascript">
        if (window.testRunner)
            testRunner.waitUntilDone();
        function runTest()
        {
            document.getElementById("target").style.cssFloat = 'left';
            document.getElementById("target").style.backgroundColor = 'green';
            document.getElementById("target").style.width = '100px';
            document.getElementById("target").style.height='100px';
            if (window.testRunner)
                testRunner.notifyDone();
        }
    </script>
</head>
<body onload="setTimeout(runTest, 0);">
 <p>
        Repaint test for <i><a href="https://bugs.webkit.org/show_bug.cgi?id=23524">Bugzilla bug 23524</a></i>
        Make sure that a table section doesn't stop painting when vertical alignment of cells dynamically changes.
</p>
<div style="width: 800px;">
<table>
    <tr valign="top">
        <td>
            <div id="target"></div>
        </td>
        <td>
            <div style="margin: 0 0 1px 0;"></div>
			<div></div>
			<div></div>
        </td>
    </tr>
</table>
</div>