mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-01-03 14:54:29 +00:00
bug 47549 (Floaters cause entire page to redraw as content is appended (block paint perf))
r=kmcclusk@netscape.com sr=waterson@netscape.com
This commit is contained in:
parent
469981a979
commit
d4879b7748
@ -283,12 +283,14 @@ nsBlockReflowContext::ReflowBlock(nsIFrame* aFrame,
|
||||
reason = eReflowReason_Dirty;
|
||||
}
|
||||
}
|
||||
/*
|
||||
if (eReflowReason_Resize == reason) {
|
||||
// we're doing a resize reflow, even though our outer reflow state is incremental
|
||||
// text (and possibly other objects) don't do incremental painting for resize reflows
|
||||
// so, we have to handle the invalidation for repainting ourselves
|
||||
mBlockShouldInvalidateItself = PR_TRUE;
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4596,17 +4596,17 @@ nsTextFrame::Reflow(nsIPresContext* aPresContext,
|
||||
else {
|
||||
mState &= ~TEXT_OPTIMIZE_RESIZE;
|
||||
}
|
||||
|
||||
|
||||
// If it's an incremental reflow command, then invalidate our existing
|
||||
// bounds.
|
||||
// XXX We need a finer granularity than this, but it isn't clear what
|
||||
// has actually changed...
|
||||
if (eReflowReason_Incremental == aReflowState.reason ||
|
||||
eReflowReason_Dirty == aReflowState.reason) {
|
||||
/*if (eReflowReason_Incremental == aReflowState.reason ||
|
||||
eReflowReason_Dirty == aReflowState.reason) {*/
|
||||
maxFrameWidth = PR_MAX(maxFrameWidth, mRect.width);
|
||||
maxFrameHeight = PR_MAX(maxFrameHeight, mRect.height);
|
||||
Invalidate(aPresContext, nsRect(0,0,maxFrameWidth,maxFrameHeight));
|
||||
}
|
||||
/*}*/
|
||||
|
||||
|
||||
#ifdef NOISY_REFLOW
|
||||
|
@ -283,12 +283,14 @@ nsBlockReflowContext::ReflowBlock(nsIFrame* aFrame,
|
||||
reason = eReflowReason_Dirty;
|
||||
}
|
||||
}
|
||||
/*
|
||||
if (eReflowReason_Resize == reason) {
|
||||
// we're doing a resize reflow, even though our outer reflow state is incremental
|
||||
// text (and possibly other objects) don't do incremental painting for resize reflows
|
||||
// so, we have to handle the invalidation for repainting ourselves
|
||||
mBlockShouldInvalidateItself = PR_TRUE;
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4596,17 +4596,17 @@ nsTextFrame::Reflow(nsIPresContext* aPresContext,
|
||||
else {
|
||||
mState &= ~TEXT_OPTIMIZE_RESIZE;
|
||||
}
|
||||
|
||||
|
||||
// If it's an incremental reflow command, then invalidate our existing
|
||||
// bounds.
|
||||
// XXX We need a finer granularity than this, but it isn't clear what
|
||||
// has actually changed...
|
||||
if (eReflowReason_Incremental == aReflowState.reason ||
|
||||
eReflowReason_Dirty == aReflowState.reason) {
|
||||
/*if (eReflowReason_Incremental == aReflowState.reason ||
|
||||
eReflowReason_Dirty == aReflowState.reason) {*/
|
||||
maxFrameWidth = PR_MAX(maxFrameWidth, mRect.width);
|
||||
maxFrameHeight = PR_MAX(maxFrameHeight, mRect.height);
|
||||
Invalidate(aPresContext, nsRect(0,0,maxFrameWidth,maxFrameHeight));
|
||||
}
|
||||
/*}*/
|
||||
|
||||
|
||||
#ifdef NOISY_REFLOW
|
||||
|
Loading…
Reference in New Issue
Block a user