Chromium Code Reviews| Index: third_party/WebKit/Source/core/layout/LayoutTableBoxComponent.cpp |
| diff --git a/third_party/WebKit/Source/core/layout/LayoutTableBoxComponent.cpp b/third_party/WebKit/Source/core/layout/LayoutTableBoxComponent.cpp |
| index 3a4bf18879baaedeb302bda9eb6014d0ed1337bb..d0da8f9d15aaab907be54f4771757d618770f613 100644 |
| --- a/third_party/WebKit/Source/core/layout/LayoutTableBoxComponent.cpp |
| +++ b/third_party/WebKit/Source/core/layout/LayoutTableBoxComponent.cpp |
| @@ -25,4 +25,20 @@ bool LayoutTableBoxComponent::doCellsHaveDirtyWidth( |
| !oldStyle.border().sizeEquals(tablePart.style()->border()); |
| } |
| +void LayoutTableBoxComponent::MutableForPainting::updatePaintResult( |
| + PaintResult paintResult, |
| + const CullRect& paintRect) { |
| + // A table row or section may paint large background display item which |
| + // contains paint operations of the background in each contained cell. |
| + // The display item can be clipped by the paint rect to avoid painting |
| + // on areas not interested. If we didn't fully paint and paint rect changes, |
| + // we need to invalidate the display item. |
| + auto& box = static_cast<LayoutTableBoxComponent&>(m_layoutObject); |
| + if (box.m_lastPaintResult != FullyPainted && box.m_lastPaintRect != paintRect) |
| + box.setDisplayItemsUncached(); |
|
wkorman
2017/03/31 22:15:41
Why this vs invalidateDisplayItemClient?
Xianzhu
2017/03/31 23:26:30
It should be invalidateDisplayItemClient. Done.
|
| + |
| + box.m_lastPaintResult = paintResult; |
| + box.m_lastPaintRect = paintRect; |
| +} |
| + |
| } // namespace blink |