| 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..0b0fd6a81fb4cc998d1074b3a07aebee7af6a3a1 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutTableCell.h
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutTableCell.h
|
| @@ -185,8 +185,9 @@ class CORE_EXPORT LayoutTableCell final : public LayoutBlockFlow {
|
| int borderBefore() const override;
|
| int borderAfter() const override;
|
|
|
| - void collectBorderValues(LayoutTable::CollapsedBorderValues&);
|
| - static void sortBorderValues(LayoutTable::CollapsedBorderValues&);
|
| + // Returns true if any collapsed borders related to this cell changed.
|
| + bool collectBorderValues(Vector<CollapsedBorderValue>&);
|
| + static void sortBorderValues(Vector<CollapsedBorderValue>&);
|
|
|
| void layout() override;
|
|
|
| @@ -286,38 +287,14 @@ class CORE_EXPORT LayoutTableCell final : public LayoutBlockFlow {
|
| const char* name() const override { return "LayoutTableCell"; }
|
|
|
| bool backgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const override;
|
| - void invalidateDisplayItemClients(PaintInvalidationReason) const override;
|
| -
|
| - // TODO(wkorman): Consider renaming to more clearly differentiate from
|
| - // CollapsedBorderValue.
|
| - class CollapsedBorderValues : public DisplayItemClient {
|
| - public:
|
| - CollapsedBorderValues(const LayoutTable&,
|
| - const CollapsedBorderValue& startBorder,
|
| - const CollapsedBorderValue& endBorder,
|
| - const CollapsedBorderValue& beforeBorder,
|
| - const CollapsedBorderValue& afterBorder);
|
| -
|
| - const CollapsedBorderValue& startBorder() const { return m_startBorder; }
|
| - const CollapsedBorderValue& endBorder() const { return m_endBorder; }
|
| - const CollapsedBorderValue& beforeBorder() const { return m_beforeBorder; }
|
| - const CollapsedBorderValue& afterBorder() const { return m_afterBorder; }
|
| -
|
| - void setCollapsedBorderValues(const CollapsedBorderValues& other);
|
| -
|
| - // DisplayItemClient methods.
|
| - String debugName() const;
|
| - LayoutRect visualRect() const;
|
| -
|
| - private:
|
| - const LayoutTable& m_layoutTable;
|
| - CollapsedBorderValue m_startBorder;
|
| - CollapsedBorderValue m_endBorder;
|
| - CollapsedBorderValue m_beforeBorder;
|
| - CollapsedBorderValue m_afterBorder;
|
| +
|
| + struct CollapsedBorderValues {
|
| + CollapsedBorderValue startBorder;
|
| + CollapsedBorderValue endBorder;
|
| + CollapsedBorderValue beforeBorder;
|
| + CollapsedBorderValue afterBorder;
|
| };
|
|
|
| - bool usesTableAsAdditionalDisplayItemClient() const;
|
| const CollapsedBorderValues* collapsedBorderValues() const {
|
| return m_collapsedBorderValues.get();
|
| }
|
| @@ -329,6 +306,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(); }
|
|
|
| + LayoutRect localVisualRect() const override;
|
| +
|
| protected:
|
| void styleDidChange(StyleDifference, const ComputedStyle* oldStyle) override;
|
| void computePreferredLogicalWidths() override;
|
| @@ -352,7 +331,6 @@ class CORE_EXPORT LayoutTableCell final : public LayoutBlockFlow {
|
| void paintMask(const PaintInfo&, const LayoutPoint&) const override;
|
|
|
| LayoutSize offsetFromContainer(const LayoutObject*) const override;
|
| - LayoutRect localVisualRect() const override;
|
|
|
| int borderHalfLeft(bool outer) const;
|
| int borderHalfRight(bool outer) const;
|
| @@ -390,8 +368,8 @@ class CORE_EXPORT LayoutTableCell final : public LayoutBlockFlow {
|
| // See also https://code.google.com/p/chromium/issues/detail?id=128227 for
|
| // some history.
|
| //
|
| - // Those functions are called when the cache (m_collapsedBorders) is
|
| - // invalidated on LayoutTable.
|
| + // Those functions are called before paint invalidation if the collapsed
|
| + // borders cache is invalidated on LayoutTable.
|
| CollapsedBorderValue computeCollapsedStartBorder(
|
| IncludeBorderColorOrNot = IncludeBorderColor) const;
|
| CollapsedBorderValue computeCollapsedEndBorder(
|
|
|