Index: third_party/WebKit/Source/core/layout/LayoutTableSection.h |
diff --git a/third_party/WebKit/Source/core/layout/LayoutTableSection.h b/third_party/WebKit/Source/core/layout/LayoutTableSection.h |
index 91b3e6770adfb9b60abdef5054ef8c3d06525ef4..b67e327bcfc8746c53e997f4c009bf6607a59a24 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutTableSection.h |
+++ b/third_party/WebKit/Source/core/layout/LayoutTableSection.h |
@@ -57,6 +57,13 @@ class CellSpan { |
unsigned m_end; |
}; |
+inline bool operator==(const CellSpan& s1, const CellSpan& s2) { |
+ return s1.start() == s2.start() && s1.end() == s2.end(); |
+} |
+inline bool operator!=(const CellSpan& s1, const CellSpan& s2) { |
+ return !(s1 == s2); |
+} |
+ |
class LayoutTableCell; |
class LayoutTableRow; |
@@ -316,7 +323,7 @@ class CORE_EXPORT LayoutTableSection final : public LayoutTableBoxComponent { |
CellSpan dirtiedRows(const LayoutRect& visualRect) const; |
CellSpan dirtiedEffectiveColumns(const LayoutRect& visualRect) const; |
- const HashSet<LayoutTableCell*>& overflowingCells() const { |
+ const HashSet<const LayoutTableCell*>& overflowingCells() const { |
return m_overflowingCells; |
} |
bool hasMultipleCellLevels() const { return m_hasMultipleCellLevels; } |
@@ -345,6 +352,11 @@ class CORE_EXPORT LayoutTableSection final : public LayoutTableBoxComponent { |
void layout() override; |
+ CellSpan fullSectionRowSpan() const { return CellSpan(0, m_grid.size()); } |
+ CellSpan fullTableEffectiveColumnSpan() const { |
+ return CellSpan(0, table()->numEffectiveColumns()); |
+ } |
+ |
protected: |
void styleDidChange(StyleDifference, const ComputedStyle* oldStyle) override; |
bool nodeAtPoint(HitTestResult&, |
@@ -420,11 +432,6 @@ class CORE_EXPORT LayoutTableSection final : public LayoutTableBoxComponent { |
void computeOverflowFromCells(unsigned totalRows, unsigned nEffCols); |
- CellSpan fullTableRowSpan() const { return CellSpan(0, m_grid.size()); } |
- CellSpan fullTableEffectiveColumnSpan() const { |
- return CellSpan(0, table()->numEffectiveColumns()); |
- } |
- |
// These two functions take a rectangle as input that has been flipped by |
// logicalRectForWritingModeAndDirection. |
// The returned span of rows or columns is end-exclusive, and empty if |
@@ -443,6 +450,8 @@ class CORE_EXPORT LayoutTableSection final : public LayoutTableBoxComponent { |
// size accordingly. |
void adjustRowForPagination(LayoutTableRow&, SubtreeLayoutScope&); |
+ bool paintedOutputOfObjectHasNoEffectRegardlessOfSize() const override; |
+ |
// The representation of the rows and their cells (CellStruct). |
Vector<RowStruct> m_grid; |
@@ -480,7 +489,7 @@ class CORE_EXPORT LayoutTableSection final : public LayoutTableBoxComponent { |
// If we have more than gMaxAllowedOverflowingCellRatio * total cells, it will |
// be empty and m_forceSlowPaintPathWithOverflowingCell will be set to save |
// memory. |
- HashSet<LayoutTableCell*> m_overflowingCells; |
+ HashSet<const LayoutTableCell*> m_overflowingCells; |
bool m_forceSlowPaintPathWithOverflowingCell; |
// This boolean tracks if we have cells overlapping due to rowspan / colspan |