Chromium Code Reviews| Index: Source/core/rendering/RenderFlowThread.h |
| diff --git a/Source/core/rendering/RenderFlowThread.h b/Source/core/rendering/RenderFlowThread.h |
| index 74a6b9cb50c34fa38658469ba0c5b208af1935e2..6b773f64fdc8a30c8f0ba52923deb49ca4780160 100644 |
| --- a/Source/core/rendering/RenderFlowThread.h |
| +++ b/Source/core/rendering/RenderFlowThread.h |
| @@ -67,6 +67,13 @@ public: |
| // can easily avoid drawing the children directly. |
| virtual LayerType layerTypeRequired() const override final { return NormalLayer; } |
| + virtual bool isColumnSpanner(const RenderObject*) const { return false; } |
| + |
| + // Is the specified renderer a column spanner or inside one? |
| + virtual bool isInsideColumnSpanner(const RenderObject*) const { return false; } |
| + |
| + virtual LayoutUnit enterColumnSpannerBeforeLayout(RenderBox*, LayoutUnit logicalTop, SubtreeLayoutScope&) { return LayoutUnit(); } |
| + virtual void leaveColumnSpannerAfterLayout(RenderBox*, LayoutUnit logicalBottom) { } |
| virtual void flowThreadDescendantWasInserted(RenderObject*) { } |
| virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) override final; |
| @@ -116,14 +123,14 @@ public: |
| // Used to estimate the maximum height of the flow thread. |
| static LayoutUnit maxLogicalHeight() { return LayoutUnit::max() / 2; } |
| + virtual RenderMultiColumnSet* columnSetAtBlockOffset(LayoutUnit) const = 0; |
|
mstensho (USE GERRIT)
2014/11/07 16:06:01
Note: made this public to be able to write a unit
|
| + |
| protected: |
| virtual const char* renderName() const = 0; |
| void updateRegionsFlowThreadPortionRect(); |
| bool shouldIssuePaintInvalidations(const LayoutRect&) const; |
| - virtual RenderMultiColumnSet* columnSetAtBlockOffset(LayoutUnit) const = 0; |
| - |
| bool cachedOffsetFromLogicalTopOfFirstRegion(const RenderBox*, LayoutUnit&) const; |
| void setOffsetFromLogicalTopOfFirstRegion(const RenderBox*, LayoutUnit); |
| void clearOffsetFromLogicalTopOfFirstRegion(const RenderBox*); |
| @@ -135,9 +142,9 @@ protected: |
| typedef PODInterval<LayoutUnit, RenderMultiColumnSet*> MultiColumnSetInterval; |
| typedef PODIntervalTree<LayoutUnit, RenderMultiColumnSet*> MultiColumnSetIntervalTree; |
| - class RegionSearchAdapter { |
| + class MultiColumnSetSearchAdapter { |
| public: |
| - RegionSearchAdapter(LayoutUnit offset) |
| + MultiColumnSetSearchAdapter(LayoutUnit offset) |
| : m_offset(offset) |
| , m_result(0) |
| { |
| @@ -147,11 +154,11 @@ protected: |
| const LayoutUnit& highValue() const { return m_offset; } |
| void collectIfNeeded(const MultiColumnSetInterval&); |
| - RenderRegion* result() const { return m_result; } |
| + RenderMultiColumnSet* result() const { return m_result; } |
| private: |
| LayoutUnit m_offset; |
| - RenderRegion* m_result; |
| + RenderMultiColumnSet* m_result; |
| }; |
| // Stack of objects that pushed a LayoutState object on the RenderView. The |