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 ae42aec7653bb485b37f094488470f9829c2f779..c71d27343766b3cb8200b9cddc2856ad8a228fee 100644 |
--- a/third_party/WebKit/Source/core/paint/TablePaintInvalidator.cpp |
+++ b/third_party/WebKit/Source/core/paint/TablePaintInvalidator.cpp |
@@ -50,6 +50,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 |
@@ -57,7 +58,8 @@ PaintInvalidationReason TablePaintInvalidator::invalidatePaintIfNeeded() { |
if (section->backgroundChangedSinceLastPaintInvalidation()) { |
sectionInvalidator |
.slowSetPaintingLayerNeedsRepaintAndInvalidateDisplayItemClient( |
- *cell, PaintInvalidationStyleChange); |
+ cell->backgroundDisplayItemClient(), |
+ PaintInvalidationStyleChange); |
invalidated = true; |
} else if (hasColChangedBackground) { |
LayoutTable::ColAndColGroup colAndColGroup = |
@@ -70,15 +72,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); |
+ } |
} |
} |
} |