make sure that the height from a fixed height tbody gets distributed, bug 439639, r=dholbert, sr=roc

This commit is contained in:
Bernd 2008-09-20 11:30:30 +02:00
parent 0736347fd4
commit 5afcd8c5a4
4 changed files with 63 additions and 1 deletions

View File

@ -0,0 +1,25 @@
<html>
<!-- This bug is quirksmode only -->
<head>
<title>Table Test</title>
</head>
<body>
<div style="height:200px; background:gold">
<table>
<tbody style="height:100px; background:silver">
<tr><td><a href='#' id="target"> click me (should not move me) </a></td></tr>
</tbody>
</table>
</div>
</body>
</html>

View File

@ -0,0 +1,33 @@
<html>
<!-- This bug is quirksmode only -->
<head>
<script>
function doTest() {
var t1=document.getElementById("target");
t1.style.paddingTop="4px";
var b = document.body.offsetHeight;
t1.style.paddingTop="0px";
}
</script>
<title>Table Test</title>
</head>
<body onload="doTest();">
<div style="height:200px; background:gold">
<table>
<tbody style="height:100px; background:silver">
<tr><td><a href='#' id="target"> click me (should not move me) </a></td></tr>
</tbody>
</table>
</div>
</body>
</html>

View File

@ -903,6 +903,7 @@ random == 429849-1.html 429849-1-ref.html # bug 432288
== 438987-2c.html 438987-2-ref.html
!= about:blank 438987-2-ref.html # check that backgrounds work at all
== 439004-1.html 439004-1-ref.html
== 439639-1.html 439639-1-ref.html
== 439910.html 439910-ref.html
== 441259-1.html 441259-1-ref.html
fails == 441259-2.html 441259-2-ref.html # bug 441400

View File

@ -464,7 +464,10 @@ nsTableRowGroupFrame::ReflowChildren(nsPresContext* aPresContext,
// Inform the row of its new height.
((nsTableRowFrame*)kidFrame)->DidResize();
// the overflow area may have changed inflate the overflow area
if (aReflowState.tableFrame->IsAutoHeight()) {
const nsStylePosition *stylePos = GetStylePosition();
nsStyleUnit unit = stylePos->mHeight.GetUnit();
if (aReflowState.tableFrame->IsAutoHeight() &&
unit != eStyleUnit_Coord) {
// Because other cells in the row may need to be aligned
// differently, repaint the entire row
nsRect kidRect(0, aReflowState.y,