bug 24037 r=attinasi; nsOuterTableFrame handles bad incremental reflow by using the height of its rect.

bug 23235 r=attinasi; nsTableRowFrame requests max element size when reflowing cell for the 1st time.
bug 24410 r=attinasi; nsTableCellFrame reflow always checks width and height and updates the content empty flag.
bug 3305 r=troy,hyatt; table frame constructor cleanup, put caption in its own child list.
This commit is contained in:
karnaze@netscape.com
2000-01-28 02:19:45 +00:00
parent ddda2a24c1
commit 17ac04c796
19 changed files with 544 additions and 192 deletions

View File

@@ -691,22 +691,20 @@ NS_METHOD nsTableCellFrame::Reflow(nsIPresContext* aPresContext,
DebugCheckChildSize(firstKid, kidSize, availSize, (NS_UNCONSTRAINEDSIZE != aReflowState.availableWidth));
#endif
PRBool useInsets = PR_TRUE;
// 0 dimensioned cells need to be treated specially in Standard/NavQuirks mode
// see testcase "emptyCells.html"
if (NS_UNCONSTRAINEDSIZE == kidReflowState.availableWidth) {
if ((0 == kidSize.width) || (0 == kidSize.height)) {
//if ((0 == kidSize.width) && (0 == kidSize.height)) { // XXX why was this &&
SetContentEmpty(PR_TRUE);
useInsets = PR_FALSE;
if ((0 == kidSize.width) || (0 == kidSize.height)) { // XXX why was this &&
SetContentEmpty(PR_TRUE);
if (NS_UNCONSTRAINEDSIZE == kidReflowState.availableWidth) {
// need to reduce the insets by border if the cell is empty
leftInset -= border.left;
rightInset -= border.right;
topInset -= border.top;
bottomInset -= border.bottom;
}
else
SetContentEmpty(PR_FALSE);
}
else {
SetContentEmpty(PR_FALSE);
}
const nsStylePosition* pos;