Index: Source/core/rendering/RenderMultiColumnFlowThread.h |
diff --git a/Source/core/rendering/RenderMultiColumnFlowThread.h b/Source/core/rendering/RenderMultiColumnFlowThread.h |
index c7f265f278803de0ceb4c3e99fa7507a73c6bce4..4c13c7749767e3406a72e48a5c9b82aed87dc6ea 100644 |
--- a/Source/core/rendering/RenderMultiColumnFlowThread.h |
+++ b/Source/core/rendering/RenderMultiColumnFlowThread.h |
@@ -84,7 +84,7 @@ class RenderMultiColumnSet; |
// column heights changed in the previous pass, since column height changes may affect break points |
// and pagination struts anywhere in the tree, and currently no way exists to do this in a more |
// optimized manner. |
-class RenderMultiColumnFlowThread FINAL : public RenderFlowThread { |
+class RenderMultiColumnFlowThread : public RenderFlowThread { |
public: |
virtual ~RenderMultiColumnFlowThread(); |
@@ -111,28 +111,32 @@ public: |
unsigned columnCount() const { return m_columnCount; } |
LayoutUnit columnHeightAvailable() const { return m_columnHeightAvailable; } |
void setColumnHeightAvailable(LayoutUnit available) { m_columnHeightAvailable = available; } |
- bool requiresBalancing() const { return !columnHeightAvailable() || multiColumnBlockFlow()->style()->columnFill() == ColumnFillBalance; } |
+ virtual bool heightIsAuto() const { return !columnHeightAvailable() || multiColumnBlockFlow()->style()->columnFill() == ColumnFillBalance; } |
+ bool progressionIsInline() const { return m_progressionIsInline; } |
virtual LayoutSize columnOffset(const LayoutPoint&) const OVERRIDE FINAL; |
// Do we need to set a new width and lay out? |
- bool needsNewWidth() const; |
+ virtual bool needsNewWidth() const; |
void layoutColumns(bool relayoutChildren, SubtreeLayoutScope&); |
bool recalculateColumnHeights(); |
-private: |
+protected: |
RenderMultiColumnFlowThread(); |
+ void setProgressionIsInline(bool isInline) { m_progressionIsInline = isInline; } |
+ |
+ virtual void layout() OVERRIDE; |
+private: |
void calculateColumnCountAndWidth(LayoutUnit& width, unsigned& count) const; |
virtual const char* renderName() const OVERRIDE; |
virtual void addRegionToThread(RenderMultiColumnSet*) OVERRIDE; |
virtual void willBeRemovedFromTree() OVERRIDE; |
virtual void computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logicalTop, LogicalExtentComputedValues&) const OVERRIDE; |
- virtual void updateLogicalWidth() OVERRIDE FINAL; |
- virtual void layout() OVERRIDE FINAL; |
+ virtual void updateLogicalWidth() OVERRIDE; |
virtual void setPageBreak(LayoutUnit offset, LayoutUnit spaceShortage) OVERRIDE; |
virtual void updateMinimumPageHeight(LayoutUnit offset, LayoutUnit minHeight) OVERRIDE; |
virtual RenderMultiColumnSet* columnSetAtBlockOffset(LayoutUnit) const OVERRIDE; |
@@ -143,6 +147,7 @@ private: |
LayoutUnit m_columnHeightAvailable; // Total height available to columns, or 0 if auto. |
bool m_inBalancingPass; // Set when relayouting for column balancing. |
bool m_needsColumnHeightsRecalculation; // Set when we need to recalculate the column set heights after layout. |
+ bool m_progressionIsInline; // Always true for regular multicol. False for paged-y overflow. |
}; |
} // namespace WebCore |