Make ReflowOverflowContainerChildren handle split overflow areas. (Bug 542595, patch 3) r=roc a2.0=blocking2.0:beta8
This commit is contained in:
@@ -1001,7 +1001,7 @@ nsBlockFrame::Reflow(nsPresContext* aPresContext,
|
||||
DrainOverflowLines(state);
|
||||
|
||||
// Handle paginated overflow (see nsContainerFrame.h)
|
||||
nsRect ocBounds;
|
||||
nsOverflowAreas ocBounds;
|
||||
nsReflowStatus ocStatus = NS_FRAME_COMPLETE;
|
||||
if (GetPrevInFlow()) {
|
||||
ReflowOverflowContainerChildren(aPresContext, aReflowState, ocBounds, 0,
|
||||
@@ -1103,7 +1103,7 @@ nsBlockFrame::Reflow(nsPresContext* aPresContext,
|
||||
ComputeFinalSize(aReflowState, state, aMetrics, &bottomEdgeOfChildren);
|
||||
ComputeCombinedArea(aReflowState, aMetrics, bottomEdgeOfChildren);
|
||||
// Factor overflow container child bounds into the overflow area
|
||||
aMetrics.mOverflowArea.UnionRect(aMetrics.mOverflowArea, ocBounds);
|
||||
aMetrics.mOverflowAreas.UnionWith(ocBounds);
|
||||
// Factor pushed float child bounds into the overflow area
|
||||
aMetrics.mOverflowArea.UnionRect(aMetrics.mOverflowArea, fcBounds);
|
||||
|
||||
|
||||
@@ -597,7 +597,7 @@ nsCanvasFrame::Reflow(nsPresContext* aPresContext,
|
||||
|
||||
if (prevCanvasFrame) {
|
||||
ReflowOverflowContainerChildren(aPresContext, aReflowState,
|
||||
aDesiredSize.mOverflowArea, 0,
|
||||
aDesiredSize.mOverflowAreas, 0,
|
||||
aStatus);
|
||||
}
|
||||
|
||||
|
||||
@@ -856,7 +856,7 @@ nsContainerFrame::FinishReflowChild(nsIFrame* aKidFrame,
|
||||
nsresult
|
||||
nsContainerFrame::ReflowOverflowContainerChildren(nsPresContext* aPresContext,
|
||||
const nsHTMLReflowState& aReflowState,
|
||||
nsRect& aOverflowRect,
|
||||
nsOverflowAreas& aOverflowRects,
|
||||
PRUint32 aFlags,
|
||||
nsReflowStatus& aStatus)
|
||||
{
|
||||
@@ -993,7 +993,7 @@ nsContainerFrame::ReflowOverflowContainerChildren(nsPresContext* aPres
|
||||
if (aReflowState.mFloatManager)
|
||||
nsBlockFrame::RecoverFloatsFor(frame, *aReflowState.mFloatManager);
|
||||
}
|
||||
ConsiderChildOverflow(aOverflowRect, frame);
|
||||
ConsiderChildOverflow(aOverflowRects, frame);
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
|
||||
@@ -277,7 +277,7 @@ public:
|
||||
*/
|
||||
nsresult ReflowOverflowContainerChildren(nsPresContext* aPresContext,
|
||||
const nsHTMLReflowState& aReflowState,
|
||||
nsRect& aOverflowRect,
|
||||
nsOverflowAreas& aOverflowRects,
|
||||
PRUint32 aFlags,
|
||||
nsReflowStatus& aStatus);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user