<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
        "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
</head>
<body>
<p>
    Test for <i><a href="https://bugs.webkit.org/show_bug.cgi?id=24971">https://bugs.webkit.org/show_bug.cgi?id=24971</a>
    Setting style.height = value in javascript doesn't work in tablerows(&lt;tr&gt;)</i>. This test PASSED if you see 2 'PASS' messages below.
</p>
<hr>
<table cellspacing="0" cellpadding="0" style="height: 100px">
    <tr style="background: green;" id="t">
        <td style="width: 50px; height: 50px"></td>
    </tr>
    <tr style="background: red;">
        <td></td>
    </tr>
</table>
<pre id="log"></pre>
<script type="text/javascript">
function log(message)
{
    document.getElementById("log").innerText += message + "\n";
}

if (window.testRunner)
    testRunner.dumpAsText();

var tableRow = document.getElementById("t");
log((tableRow.offsetHeight == 50 ? "PASS" : "FAIL") + ": initial height of the row should be 50px.");
    
tableRow.style.height='100px';
log((tableRow.offsetHeight == 100 ? "PASS" : "FAIL") + ": final height of the row should be 100px.");

</script>
</body>
</html>
