зеркало из https://github.com/mozilla/pjs.git
Bug 377391: Parts of a rectangle with CSS outline remains, when changing rectangle size. r+sr=roc
This commit is contained in:
Родитель
dd87ddc925
Коммит
94a5c3af5a
|
@ -1120,11 +1120,11 @@ nsBlockFrame::Reflow(nsPresContext* aPresContext,
|
|||
aMetrics.mOverflowArea.UnionRect(aMetrics.mOverflowArea, childBounds);
|
||||
}
|
||||
|
||||
FinishAndStoreOverflow(&aMetrics);
|
||||
|
||||
// Determine if we need to repaint our border, background or outline
|
||||
CheckInvalidateSizeChange(aPresContext, aMetrics, aReflowState);
|
||||
|
||||
FinishAndStoreOverflow(&aMetrics);
|
||||
|
||||
// Clear the space manager pointer in the block reflow state so we
|
||||
// don't waste time translating the coordinate system back on a dead
|
||||
// space manager.
|
||||
|
|
|
@ -3801,6 +3801,7 @@ nsFrame::CheckInvalidateSizeChange(nsPresContext* aPresContext,
|
|||
nsRect r = ComputeOutlineRect(this, &anyOutline,
|
||||
aDesiredSize.mOverflowArea);
|
||||
if (anyOutline) {
|
||||
r.UnionRect(GetOverflowRect(), r);
|
||||
Invalidate(r);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -406,7 +406,10 @@ nsSubDocumentFrame::Reflow(nsPresContext* aPresContext,
|
|||
// Determine if we need to repaint our border, background or outline
|
||||
CheckInvalidateSizeChange(aPresContext, aDesiredSize, aReflowState);
|
||||
|
||||
FinishAndStoreOverflow(&aDesiredSize);
|
||||
|
||||
// Invalidate the frame contents
|
||||
// XXX is this really needed?
|
||||
nsRect rect(nsPoint(0, 0), GetSize());
|
||||
Invalidate(rect, PR_FALSE);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче