| 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 8bef7580909d16d59fd2bbeef077200fba0a722a..c64227689e9b038702f3da937fd2d9cfe81b92b0 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutTableCell.h
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutTableCell.h
|
| @@ -304,10 +304,28 @@ 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 CollapsedBorderValues* collapsedBorderValues() const {
|
| return m_collapsedBorderValues.get();
|
| }
|
| + const DisplayItemClient& backgroundDisplayItemClient() const {
|
| + return m_rowBackgroundDisplayItemClient
|
| + ? static_cast<const DisplayItemClient&>(
|
| + *m_rowBackgroundDisplayItemClient)
|
| + : *this;
|
| + }
|
|
|
| LayoutRect debugRect() const override;
|
|
|
| @@ -316,6 +334,8 @@ class CORE_EXPORT LayoutTableCell final : public LayoutBlockFlow {
|
| // A table cell's location is relative to its containing section.
|
| LayoutBox* locationContainer() const override { return section(); }
|
|
|
| + void ensureIsReadyForPaintInvalidation() override;
|
| +
|
| protected:
|
| void styleDidChange(StyleDifference, const ComputedStyle* oldStyle) override;
|
| void computePreferredLogicalWidths() override;
|
| @@ -418,6 +438,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());
|
|
|