Index: third_party/WebKit/Source/core/layout/LayoutTableCell.h |
diff --git a/third_party/WebKit/Source/core/layout/LayoutTableCell.h b/third_party/WebKit/Source/core/layout/LayoutTableCell.h |
index 41aa838b0072e3f81128caa65bd22652ee9b56c8..e2e44fc22969ec93ce0740d104d87f7424a9e483 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutTableCell.h |
+++ b/third_party/WebKit/Source/core/layout/LayoutTableCell.h |
@@ -317,7 +317,22 @@ class CORE_EXPORT LayoutTableCell final : public LayoutBlockFlow { |
CollapsedBorderValue m_afterBorder; |
}; |
- bool usesTableAsAdditionalDisplayItemClient() const; |
+ class RowBackgroundDisplayItemClient : public DisplayItemClient { |
+ public: |
+ RowBackgroundDisplayItemClient(const LayoutTableRow&); |
+ |
+ // DisplayItemClient methods. |
+ String debugName() const; |
+ LayoutRect visualRect() const; |
+ |
+ private: |
+ const LayoutTableRow& m_layoutTableRow; |
+ }; |
+ |
+ bool usesCompositedCellDisplayItemClients() const; |
+ const RowBackgroundDisplayItemClient* rowBackgroundDisplayItemClient() const { |
+ return m_rowBackgroundDisplayItemClient.get(); |
+ } |
const CollapsedBorderValues* collapsedBorderValues() const { |
return m_collapsedBorderValues.get(); |
} |
@@ -330,6 +345,7 @@ class CORE_EXPORT LayoutTableCell final : public LayoutBlockFlow { |
LayoutBox* locationContainer() const override { return section(); } |
protected: |
+ void ensureIsReadyForPaintInvalidation() override; |
void styleDidChange(StyleDifference, const ComputedStyle* oldStyle) override; |
void computePreferredLogicalWidths() override; |
@@ -432,6 +448,8 @@ class CORE_EXPORT LayoutTableCell final : public LayoutBlockFlow { |
int m_intrinsicPaddingAfter; |
std::unique_ptr<CollapsedBorderValues> m_collapsedBorderValues; |
+ std::unique_ptr<RowBackgroundDisplayItemClient> |
+ m_rowBackgroundDisplayItemClient; |
}; |
DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutTableCell, isTableCell()); |