DescriptionFix table cell background caching issue about interest rect
For all display items for one object, if we check for interect rect
intersection and early return, we must use the same rule. Otherwise,
we may generate display item A but not display item B in some cases;
and once we generate display item B again, we'll mistakenly generate
CachedDisplayItem for it because we think the object is validly cached.
Table cell may generate more than two display items for backgrounds,
one drawing backgrounds from containers, one drawing its own background.
Previously they use different early return rules.
Now let them use the same rule (BlockPainter::isVisibleInPaintRect()).
Also add DisplayItem::TableCellBackgroundFromContainers because the
display items are issued by TableSectionPainter which doesn't know if
TableCellPainter::paint() would use the phase for other display items.
BUG=522338
TEST=DisplayItemListPaintTest.TableCellBackbroundInterestRect
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=201820
Patch Set 1 #Patch Set 2 : #Patch Set 3 : #
Total comments: 4
Patch Set 4 : #Patch Set 5 : #
Messages
Total messages: 11 (3 generated)
|