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..6a5712cd296d55d82d299592986ee6c8e244340c 100644 |
--- a/third_party/WebKit/Source/core/paint/TablePaintInvalidator.cpp |
+++ b/third_party/WebKit/Source/core/paint/TablePaintInvalidator.cpp |
@@ -55,6 +55,7 @@ PaintInvalidationReason TablePaintInvalidator::invalidatePaintIfNeeded() { |
continue; |
for (LayoutTableCell* cell = row->firstCell(); cell; |
cell = cell->nextCell()) { |
+ cell->ensureIsReadyForPaintInvalidation(); |
bool invalidated = false; |
// Table cells paint container's background on the container's backing |
// instead of its own (if any), so we must invalidate it by the |
@@ -62,7 +63,8 @@ PaintInvalidationReason TablePaintInvalidator::invalidatePaintIfNeeded() { |
if (section->backgroundChangedSinceLastPaintInvalidation()) { |
sectionInvalidator |
.slowSetPaintingLayerNeedsRepaintAndInvalidateDisplayItemClient( |
- *cell, PaintInvalidationStyleChange); |
+ cell->backgroundDisplayItemClient(), |
+ PaintInvalidationStyleChange); |
invalidated = true; |
} else if (hasColChangedBackground) { |
LayoutTable::ColAndColGroup colAndColGroup = |
@@ -75,15 +77,18 @@ PaintInvalidationReason TablePaintInvalidator::invalidatePaintIfNeeded() { |
column->backgroundChangedSinceLastPaintInvalidation())) { |
sectionInvalidator |
.slowSetPaintingLayerNeedsRepaintAndInvalidateDisplayItemClient( |
- *cell, PaintInvalidationStyleChange); |
+ cell->backgroundDisplayItemClient(), |
+ PaintInvalidationStyleChange); |
invalidated = true; |
} |
} |
if ((!invalidated || row->hasSelfPaintingLayer()) && |
- row->backgroundChangedSinceLastPaintInvalidation()) |
+ row->backgroundChangedSinceLastPaintInvalidation()) { |
ObjectPaintInvalidator(*row) |
.slowSetPaintingLayerNeedsRepaintAndInvalidateDisplayItemClient( |
- *cell, PaintInvalidationStyleChange); |
+ cell->backgroundDisplayItemClient(), |
+ PaintInvalidationStyleChange); |
+ } |
} |
} |
} |