Bug 1370833 Part 1 - make less table invalidations for non-border-collapse tables. r=mattwoodrow

For the most part, I tried to make less *manual* table invalidations
for non-border-collapse tables and relied the table invalidations on
the comparison of the display items. By doing so, we can avoid the
over-painting issue.

MozReview-Commit-ID: 4w1DUKHXIFO
This commit is contained in:
Ya-Chieh Wu
2017-06-09 10:46:34 +08:00
parent 08489ec323
commit 2e43bdd700
4 changed files with 27 additions and 13 deletions

View File

@@ -293,8 +293,11 @@ nsTableRowGroupFrame::PlaceChild(nsPresContext* aPresContext,
FinishReflowChild(aKidFrame, aPresContext, aDesiredSize, nullptr,
aWM, aKidPosition, aContainerSize, 0);
nsTableFrame::InvalidateTableFrame(aKidFrame, aOriginalKidRect,
aOriginalKidVisualOverflow, isFirstReflow);
nsTableFrame* tableFrame = GetTableFrame();
if (tableFrame->IsBorderCollapse()) {
nsTableFrame::InvalidateTableFrame(aKidFrame, aOriginalKidRect,
aOriginalKidVisualOverflow, isFirstReflow);
}
// Adjust the running block-offset
aReflowInput.bCoord += aDesiredSize.BSize(aWM);