Chromium Code Reviews| Index: third_party/WebKit/Source/core/layout/LayoutTableCol.cpp |
| diff --git a/third_party/WebKit/Source/core/layout/LayoutTableCol.cpp b/third_party/WebKit/Source/core/layout/LayoutTableCol.cpp |
| index aaf594c9e7481959cd7c6dcd0ae31103047c1b45..a26f48178c41e30133b09a57113a0e6701b9cf31 100644 |
| --- a/third_party/WebKit/Source/core/layout/LayoutTableCol.cpp |
| +++ b/third_party/WebKit/Source/core/layout/LayoutTableCol.cpp |
| @@ -110,15 +110,17 @@ bool LayoutTableCol::canHaveChildren() const |
| LayoutRect LayoutTableCol::clippedOverflowRectForPaintInvalidation(const LayoutBoxModelObject* paintInvalidationContainer, const PaintInvalidationState* paintInvalidationState) const |
| { |
| - // For now, just paint invalidate the whole table. |
| - // FIXME: Find a better way to do this, e.g., need to paint invalidate all the cells that we |
| - // might have propagated a background color or borders into. |
| - // FIXME: check for paintInvalidationContainer each time here? |
| + // Entire table gets invalidated, instead of invalidating |
| + // every cell in the column. |
| + // This is simpler, but suboptimal. |
| - LayoutTable* parentTable = table(); |
| - if (!parentTable) |
| + LayoutTable* table = this->table(); |
| + if (!table) |
| return LayoutRect(); |
| - return parentTable->clippedOverflowRectForPaintInvalidation(paintInvalidationContainer, paintInvalidationState); |
| + LayoutRect r = table->visualOverflowRect(); |
| + r.setLocation(LayoutPoint(0, 0)); |
|
Xianzhu
2016/03/15 17:24:39
The correctness of this method depends on the fact
Xianzhu
2016/03/15 17:24:39
The above line should be removed. visualOverflowRe
atotic1
2016/03/15 18:50:50
Done.
atotic1
2016/03/15 18:50:51
Done.
|
| + mapToVisibleRectInAncestorSpace(paintInvalidationContainer, r, paintInvalidationState); |
| + return r; |
| } |
| void LayoutTableCol::imageChanged(WrappedImagePtr, const IntRect*) |