зеркало из https://github.com/mozilla/pjs.git
Fix for bad invalidation/painting when deleting lines of text at the end of a document or mail message. b=86852 r=alexsavulov sr=waterson
This commit is contained in:
Родитель
d6145bbd4b
Коммит
ce106c6b3c
|
@ -486,14 +486,16 @@ nsContainerFrame::SyncFrameViewAfterReflow(nsIPresContext* aPresContext,
|
|||
} else {
|
||||
nscoord width, height;
|
||||
aView->GetDimensions(&width, &height);
|
||||
// If only the height has changed then repaint only the newly exposed or
|
||||
// If the height and width are unchanged then repaint only the newly exposed or
|
||||
// contracted area, otherwise repaint the union of the old and new areas
|
||||
|
||||
// XXX: We currently invalidate the newly exposed areas only when the
|
||||
// container changes height because some frames do not invalidate themselves
|
||||
// properly. see bug 73825.
|
||||
// Once bug 73825 is fixed, we should always pass PR_TRUE instead of frameSize.width == width.
|
||||
vm->ResizeView(aView, frameSize.width, frameSize.height, frameSize.width == width);
|
||||
// container frame dimensions are unchanged changes because some frames do not
|
||||
// invalidate themselves properly. see bug 73825.
|
||||
// Once bug 73825 is fixed, we should always pass PR_TRUE instead of
|
||||
// frameSize.width == width && frameSize.height == height.
|
||||
vm->ResizeView(aView, frameSize.width, frameSize.height,
|
||||
(frameSize.width == width && frameSize.height == height));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -486,14 +486,16 @@ nsContainerFrame::SyncFrameViewAfterReflow(nsIPresContext* aPresContext,
|
|||
} else {
|
||||
nscoord width, height;
|
||||
aView->GetDimensions(&width, &height);
|
||||
// If only the height has changed then repaint only the newly exposed or
|
||||
// If the height and width are unchanged then repaint only the newly exposed or
|
||||
// contracted area, otherwise repaint the union of the old and new areas
|
||||
|
||||
// XXX: We currently invalidate the newly exposed areas only when the
|
||||
// container changes height because some frames do not invalidate themselves
|
||||
// properly. see bug 73825.
|
||||
// Once bug 73825 is fixed, we should always pass PR_TRUE instead of frameSize.width == width.
|
||||
vm->ResizeView(aView, frameSize.width, frameSize.height, frameSize.width == width);
|
||||
// container frame dimensions are unchanged changes because some frames do not
|
||||
// invalidate themselves properly. see bug 73825.
|
||||
// Once bug 73825 is fixed, we should always pass PR_TRUE instead of
|
||||
// frameSize.width == width && frameSize.height == height.
|
||||
vm->ResizeView(aView, frameSize.width, frameSize.height,
|
||||
(frameSize.width == width && frameSize.height == height));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче