Chromium Code Reviews| 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); |
| + } |
| } |
| } |
| } |