Index: third_party/WebKit/Source/core/paint/TablePaintInvalidator.cpp |
diff --git a/third_party/WebKit/Source/core/paint/TablePaintInvalidator.cpp b/third_party/WebKit/Source/core/paint/TablePaintInvalidator.cpp |
index 83b770615fdf4e52e4ad12b30e70ad62e6f4f394..f07b494bf932df898e83b9dc99d11a742f397029 100644 |
--- a/third_party/WebKit/Source/core/paint/TablePaintInvalidator.cpp |
+++ b/third_party/WebKit/Source/core/paint/TablePaintInvalidator.cpp |
@@ -60,9 +60,11 @@ PaintInvalidationReason TablePaintInvalidator::invalidatePaintIfNeeded() { |
// instead of its own (if any), so we must invalidate it by the |
// containers. |
if (section->backgroundChangedSinceLastPaintInvalidation()) { |
+ cell->ensureIsReadyForPaintInvalidation(); |
Xianzhu
2016/11/16 21:54:32
Nit: can this be put at the beginning of the 'for'
wkorman
2016/11/16 22:07:42
Done.
|
sectionInvalidator |
.slowSetPaintingLayerNeedsRepaintAndInvalidateDisplayItemClient( |
- *cell, PaintInvalidationStyleChange); |
+ cell->backgroundDisplayItemClient(), |
+ PaintInvalidationStyleChange); |
invalidated = true; |
} else if (hasColChangedBackground) { |
LayoutTable::ColAndColGroup colAndColGroup = |
@@ -73,17 +75,22 @@ PaintInvalidationReason TablePaintInvalidator::invalidatePaintIfNeeded() { |
columnGroup->backgroundChangedSinceLastPaintInvalidation()) || |
(column && |
column->backgroundChangedSinceLastPaintInvalidation())) { |
+ cell->ensureIsReadyForPaintInvalidation(); |
sectionInvalidator |
.slowSetPaintingLayerNeedsRepaintAndInvalidateDisplayItemClient( |
- *cell, PaintInvalidationStyleChange); |
+ cell->backgroundDisplayItemClient(), |
+ PaintInvalidationStyleChange); |
invalidated = true; |
} |
} |
if ((!invalidated || row->hasSelfPaintingLayer()) && |
- row->backgroundChangedSinceLastPaintInvalidation()) |
+ row->backgroundChangedSinceLastPaintInvalidation()) { |
+ cell->ensureIsReadyForPaintInvalidation(); |
ObjectPaintInvalidator(*row) |
.slowSetPaintingLayerNeedsRepaintAndInvalidateDisplayItemClient( |
- *cell, PaintInvalidationStyleChange); |
+ cell->backgroundDisplayItemClient(), |
+ PaintInvalidationStyleChange); |
+ } |
} |
} |
} |