bug 125543 - Prevent row groups from splitting in the reflow preceeding a special height reflow. Cells are only notified that they should observe a percent height element if the element is inside the table's cell. Percent height elements inside the body will have a height based on the page height when printing. sr=kin, r=alexsavulov.
This commit is contained in:
@@ -992,13 +992,14 @@ nsTableRowFrame::ReflowChildren(nsIPresContext* aPresContext,
|
||||
nsIFrame* kidNextInFlow;
|
||||
kidFrame->GetNextInFlow(&kidNextInFlow);
|
||||
nsSize cellDesiredSize = cellFrame->GetDesiredSize();
|
||||
if ((availCellWidth != cellFrame->GetPriorAvailWidth()) ||
|
||||
if ((availCellWidth != cellFrame->GetPriorAvailWidth()) ||
|
||||
(cellDesiredSize.width > cellFrame->GetPriorAvailWidth()) ||
|
||||
(eReflowReason_StyleChange == aReflowState.reason) ||
|
||||
isPaginated ||
|
||||
(aReflowState.mFlags.mSpecialHeightReflow && cellFrame->NeedSpecialReflow()) ||
|
||||
HasPctHeight() ||
|
||||
notifyStyleChange ){
|
||||
(!aReflowState.mFlags.mSpecialHeightReflow && cellFrame->HadSpecialReflow()) ||
|
||||
HasPctHeight() ||
|
||||
notifyStyleChange) {
|
||||
// Reflow the cell to fit the available width, height
|
||||
nsSize kidAvailSize(availColWidth, aReflowState.availableHeight);
|
||||
nsReflowReason reason = eReflowReason_Resize;
|
||||
@@ -1443,7 +1444,8 @@ nsTableRowFrame::Reflow(nsIPresContext* aPresContext,
|
||||
if (!tableFrame) return NS_ERROR_NULL_POINTER;
|
||||
|
||||
// see if a special height reflow needs to occur due to having a pct height
|
||||
nsTableFrame::CheckRequestSpecialHeightReflow(aReflowState);
|
||||
if (!NeedSpecialReflow())
|
||||
nsTableFrame::CheckRequestSpecialHeightReflow(aReflowState);
|
||||
|
||||
switch (aReflowState.reason) {
|
||||
case eReflowReason_Initial:
|
||||
|
||||
Reference in New Issue
Block a user