mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-16 06:45:42 +00:00
Split overflow areas for block frame float continuations. (Bug 542595, patch 12) r=roc a2.0=blocking2.0:beta8
This commit is contained in:
parent
bd2bd8bb96
commit
65fcd4c12c
@ -1015,7 +1015,7 @@ nsBlockFrame::Reflow(nsPresContext* aPresContext,
|
||||
|
||||
// Drain & handle pushed floats
|
||||
DrainPushedFloats(state);
|
||||
nsRect fcBounds;
|
||||
nsOverflowAreas fcBounds;
|
||||
nsReflowStatus fcStatus = NS_FRAME_COMPLETE;
|
||||
rv = ReflowPushedFloats(state, fcBounds, fcStatus);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
@ -1105,7 +1105,7 @@ nsBlockFrame::Reflow(nsPresContext* aPresContext,
|
||||
// Factor overflow container child bounds into the overflow area
|
||||
aMetrics.mOverflowAreas.UnionWith(ocBounds);
|
||||
// Factor pushed float child bounds into the overflow area
|
||||
aMetrics.mOverflowArea.UnionRect(aMetrics.mOverflowArea, fcBounds);
|
||||
aMetrics.mOverflowAreas.UnionWith(fcBounds);
|
||||
|
||||
// Let the absolutely positioned container reflow any absolutely positioned
|
||||
// child frames that need to be reflowed, e.g., elements with a percentage
|
||||
@ -5802,8 +5802,8 @@ nsBlockFrame::FindTrailingClear()
|
||||
|
||||
nsresult
|
||||
nsBlockFrame::ReflowPushedFloats(nsBlockReflowState& aState,
|
||||
nsRect& aBounds,
|
||||
nsReflowStatus& aStatus)
|
||||
nsOverflowAreas& aOverflowAreas,
|
||||
nsReflowStatus& aStatus)
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
for (nsIFrame* f = mFloats.FirstChild(), *next;
|
||||
@ -5841,7 +5841,7 @@ nsBlockFrame::ReflowPushedFloats(nsBlockReflowState& aState,
|
||||
NS_MergeReflowStatusInto(&aStatus, NS_FRAME_OVERFLOW_INCOMPLETE);
|
||||
}
|
||||
|
||||
ConsiderChildOverflow(aBounds, f);
|
||||
ConsiderChildOverflow(aOverflowAreas, f);
|
||||
}
|
||||
|
||||
// If there are continued floats, then we may need to continue BR clearance
|
||||
|
@ -477,8 +477,8 @@ protected:
|
||||
/** Reflow pushed floats
|
||||
*/
|
||||
nsresult ReflowPushedFloats(nsBlockReflowState& aState,
|
||||
nsRect& aBounds,
|
||||
nsReflowStatus& aStatus);
|
||||
nsOverflowAreas& aOverflowAreas,
|
||||
nsReflowStatus& aStatus);
|
||||
|
||||
/** Find any trailing BR clear from the last line of the block (or its PIFs)
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user