Bug 241454. Enforce the rule that if a frame ever reflows its child asking for MEW, then it *always* reflows the child asking for MEW. r=bernd,sr=dbaron

This commit is contained in:
roc+%cs.cmu.edu 2004-06-06 20:45:23 +00:00
Родитель 56d84ab437
Коммит b09f29fdcc
4 изменённых файлов: 10 добавлений и 8 удалений

Просмотреть файл

@ -892,7 +892,10 @@ nsTableRowFrame::ReflowChildren(nsIPresContext* aPresContext,
// remember the rightmost (ltr) or leftmost (rtl) column this cell spans into
prevColIndex = (iter.IsLeftToRight()) ? cellColIndex + (cellColSpan - 1) : cellColIndex;
nsHTMLReflowMetrics desiredSize(PR_FALSE);
// always request MEW. Since we may turn MEW on for selected cells during incremental
// reflow, we need to request MEW *now* so that those incremental reflows will be
// able to build on existing MEW data in the children.
nsHTMLReflowMetrics desiredSize(PR_TRUE);
// If the avail width is not the same as last time we reflowed the cell or
// the cell wants to be bigger than what was available last time or
@ -936,8 +939,6 @@ nsTableRowFrame::ReflowChildren(nsIPresContext* aPresContext,
if (NS_UNCONSTRAINEDSIZE != availCellWidth) {
desiredSize.mFlags |= NS_REFLOW_CALC_MAX_WIDTH;
}
// request to get the max element size
desiredSize.mComputeMEW = PR_TRUE;
}
else {
cellToWatch = PR_FALSE;

Просмотреть файл

@ -340,7 +340,7 @@ nsTableRowGroupFrame::ReflowChildren(nsIPresContext* aPresContext,
nsSize kidAvailSize(aReflowState.availSize);
if (0 >= kidAvailSize.height)
kidAvailSize.height = 1; // XXX: HaCk - we don't handle negative heights yet
nsHTMLReflowMetrics desiredSize(PR_FALSE);
nsHTMLReflowMetrics desiredSize(aDesiredSize.mComputeMEW);
desiredSize.width = desiredSize.height = desiredSize.ascent = desiredSize.descent = 0;
// Reflow the child into the available space, giving it as much height as

Просмотреть файл

@ -892,7 +892,10 @@ nsTableRowFrame::ReflowChildren(nsIPresContext* aPresContext,
// remember the rightmost (ltr) or leftmost (rtl) column this cell spans into
prevColIndex = (iter.IsLeftToRight()) ? cellColIndex + (cellColSpan - 1) : cellColIndex;
nsHTMLReflowMetrics desiredSize(PR_FALSE);
// always request MEW. Since we may turn MEW on for selected cells during incremental
// reflow, we need to request MEW *now* so that those incremental reflows will be
// able to build on existing MEW data in the children.
nsHTMLReflowMetrics desiredSize(PR_TRUE);
// If the avail width is not the same as last time we reflowed the cell or
// the cell wants to be bigger than what was available last time or
@ -936,8 +939,6 @@ nsTableRowFrame::ReflowChildren(nsIPresContext* aPresContext,
if (NS_UNCONSTRAINEDSIZE != availCellWidth) {
desiredSize.mFlags |= NS_REFLOW_CALC_MAX_WIDTH;
}
// request to get the max element size
desiredSize.mComputeMEW = PR_TRUE;
}
else {
cellToWatch = PR_FALSE;

Просмотреть файл

@ -340,7 +340,7 @@ nsTableRowGroupFrame::ReflowChildren(nsIPresContext* aPresContext,
nsSize kidAvailSize(aReflowState.availSize);
if (0 >= kidAvailSize.height)
kidAvailSize.height = 1; // XXX: HaCk - we don't handle negative heights yet
nsHTMLReflowMetrics desiredSize(PR_FALSE);
nsHTMLReflowMetrics desiredSize(aDesiredSize.mComputeMEW);
desiredSize.width = desiredSize.height = desiredSize.ascent = desiredSize.descent = 0;
// Reflow the child into the available space, giving it as much height as