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 6ce3209bf396e44e4c80f27cb087251db698acdd..821f040fa0a54a6dd1f9526382f0d8544db0615f 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutTableCell.h |
+++ b/third_party/WebKit/Source/core/layout/LayoutTableCell.h |
@@ -317,10 +317,26 @@ 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; |
+ void createCompositedCellDisplayItemClients(); |
const CollapsedBorderValues* collapsedBorderValues() const { |
return m_collapsedBorderValues.get(); |
} |
+ const RowBackgroundDisplayItemClient* rowBackgroundDisplayItemClient() const { |
+ return m_rowBackgroundDisplayItemClient.get(); |
+ } |
LayoutRect debugRect() const override; |
@@ -330,6 +346,7 @@ class CORE_EXPORT LayoutTableCell final : public LayoutBlockFlow { |
LayoutBox* locationContainer() const override { return section(); } |
protected: |
+ void ensureIsReadyForPaintInvalidation(); |
void styleDidChange(StyleDifference, const ComputedStyle* oldStyle) override; |
void computePreferredLogicalWidths() override; |
@@ -428,6 +445,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()); |