Modified: trunk/Source/WebCore/rendering/ColumnInfo.h (162821 => 162822)
--- trunk/Source/WebCore/rendering/ColumnInfo.h 2014-01-27 02:22:34 UTC (rev 162821)
+++ trunk/Source/WebCore/rendering/ColumnInfo.h 2014-01-27 03:57:22 UTC (rev 162822)
@@ -37,7 +37,7 @@
ColumnInfo()
: m_desiredColumnWidth(0)
, m_desiredColumnCount(1)
- , m_progressionAxis(InlineAxis)
+ , m_progressionIsInline(true)
, m_progressionIsReversed(false)
, m_columnCount(1)
, m_columnHeight(0)
@@ -55,11 +55,9 @@
unsigned desiredColumnCount() const { return m_desiredColumnCount; }
void setDesiredColumnCount(unsigned count) { m_desiredColumnCount = count; }
- enum Axis { InlineAxis, BlockAxis };
+ bool progressionIsInline() const { return m_progressionIsInline; }
+ void setProgressionIsInline(bool progressionIsInline) { m_progressionIsInline = progressionIsInline; }
- Axis progressionAxis() const { return m_progressionAxis; }
- void setProgressionAxis(Axis progressionAxis) { m_progressionAxis = progressionAxis; }
-
bool progressionIsReversed() const { return m_progressionIsReversed; }
void setProgressionIsReversed(bool reversed) { m_progressionIsReversed = reversed; }
@@ -105,7 +103,7 @@
private:
LayoutUnit m_desiredColumnWidth;
unsigned m_desiredColumnCount;
- Axis m_progressionAxis;
+ bool m_progressionIsInline;
bool m_progressionIsReversed;
unsigned m_columnCount;
Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (162821 => 162822)
--- trunk/Source/WebCore/rendering/RenderBlock.cpp 2014-01-27 02:22:34 UTC (rev 162821)
+++ trunk/Source/WebCore/rendering/RenderBlock.cpp 2014-01-27 03:57:22 UTC (rev 162822)
@@ -2209,7 +2209,7 @@
bool antialias = shouldAntialiasLines(paintInfo.context);
- if (colInfo->progressionAxis() == ColumnInfo::InlineAxis) {
+ if (colInfo->progressionIsInline()) {
bool leftToRight = style().isLeftToRightDirection() ^ colInfo->progressionIsReversed();
LayoutUnit currLogicalLeftOffset = leftToRight ? LayoutUnit() : contentLogicalWidth();
LayoutUnit ruleAdd = logicalLeftOffsetForContent();
@@ -2282,7 +2282,7 @@
{
ColumnInfo* colInfo = columnInfo();
LayoutUnit result = 0;
- if (colInfo->progressionAxis() == ColumnInfo::BlockAxis && colInfo->progressionIsReversed()) {
+ if (!colInfo->progressionIsInline() && colInfo->progressionIsReversed()) {
LayoutRect colRect = columnRectAt(colInfo, 0);
result = isHorizontalWritingMode() ? colRect.y() : colRect.x();
result -= borderAndPaddingBefore();
@@ -2297,7 +2297,7 @@
ColumnInfo* colInfo = columnInfo();
LayoutUnit blockDelta = -colInfo->columnHeight();
LayoutUnit colGap = columnGap();
- if (colInfo->progressionAxis() == ColumnInfo::BlockAxis) {
+ if (!colInfo->progressionIsInline()) {
if (!colInfo->progressionIsReversed())
blockDelta = colGap;
else
@@ -3706,7 +3706,7 @@
}
info->setDesiredColumnCount(count);
info->setDesiredColumnWidth(width);
- info->setProgressionAxis(style().hasInlineColumnAxis() ? ColumnInfo::InlineAxis : ColumnInfo::BlockAxis);
+ info->setProgressionIsInline(style().hasInlineColumnAxis());
info->setProgressionIsReversed(style().columnProgression() == ReverseColumnProgression);
}
}
@@ -3719,10 +3719,10 @@
ColumnInfo* info = gColumnInfoMap->get(this);
bool needsLayout = false;
- ColumnInfo::Axis oldAxis = info->progressionAxis();
- ColumnInfo::Axis newAxis = style->hasInlineColumnAxis() ? ColumnInfo::InlineAxis : ColumnInfo::BlockAxis;
- if (oldAxis != newAxis) {
- info->setProgressionAxis(newAxis);
+ bool oldProgressionIsInline = info->progressionIsInline();
+ bool newProgressionIsInline = style->hasInlineColumnAxis();
+ if (oldProgressionIsInline != newProgressionIsInline) {
+ info->setProgressionIsInline(newProgressionIsInline);
needsLayout = true;
}
@@ -3775,7 +3775,7 @@
LayoutUnit colLogicalTop = borderAndPaddingBefore();
LayoutUnit colLogicalLeft = logicalLeftOffsetForContent();
LayoutUnit colGap = columnGap();
- if (colInfo->progressionAxis() == ColumnInfo::InlineAxis) {
+ if (colInfo->progressionIsInline()) {
if (style().isLeftToRightDirection() ^ colInfo->progressionIsReversed())
colLogicalLeft += index * (colLogicalWidth + colGap);
else
@@ -3811,10 +3811,10 @@
// Add in half the column gap to the left and right of the rect.
LayoutRect colRect = columnRectAt(colInfo, i);
flipForWritingMode(colRect);
- if (isHorizontalWritingMode() == (colInfo->progressionAxis() == ColumnInfo::InlineAxis)) {
+ if (isHorizontalWritingMode() == colInfo->progressionIsInline()) {
LayoutRect gapAndColumnRect(colRect.x() - halfColGap, colRect.y(), colRect.width() + colGap, colRect.height());
if (point.x() >= gapAndColumnRect.x() && point.x() < gapAndColumnRect.maxX()) {
- if (colInfo->progressionAxis() == ColumnInfo::InlineAxis) {
+ if (colInfo->progressionIsInline()) {
// FIXME: The clamping that follows is not completely right for right-to-left
// content.
// Clamp everything above the column to its top left.
@@ -3834,7 +3834,7 @@
}
// We're inside the column. Translate the x and y into our column coordinate space.
- if (colInfo->progressionAxis() == ColumnInfo::InlineAxis)
+ if (colInfo->progressionIsInline())
point.move(columnPoint.x() - colRect.x(), (!style().isFlippedBlocksWritingMode() ? logicalOffset : -logicalOffset));
else
point.move((!style().isFlippedBlocksWritingMode() ? logicalOffset : -logicalOffset) - colRect.x() + borderLeft() + paddingLeft(), 0);
@@ -3842,11 +3842,11 @@
}
// Move to the next position.
- logicalOffset += colInfo->progressionAxis() == ColumnInfo::InlineAxis ? colRect.height() : colRect.width();
+ logicalOffset += colInfo->progressionIsInline() ? colRect.height() : colRect.width();
} else {
LayoutRect gapAndColumnRect(colRect.x(), colRect.y() - halfColGap, colRect.width(), colRect.height() + colGap);
if (point.y() >= gapAndColumnRect.y() && point.y() < gapAndColumnRect.maxY()) {
- if (colInfo->progressionAxis() == ColumnInfo::InlineAxis) {
+ if (colInfo->progressionIsInline()) {
// FIXME: The clamping that follows is not completely right for right-to-left
// content.
// Clamp everything above the column to its top left.
@@ -3866,7 +3866,7 @@
}
// We're inside the column. Translate the x and y into our column coordinate space.
- if (colInfo->progressionAxis() == ColumnInfo::InlineAxis)
+ if (colInfo->progressionIsInline())
point.move((!style().isFlippedBlocksWritingMode() ? logicalOffset : -logicalOffset), columnPoint.y() - colRect.y());
else
point.move(0, (!style().isFlippedBlocksWritingMode() ? logicalOffset : -logicalOffset) - colRect.y() + borderTop() + paddingTop());
@@ -3874,7 +3874,7 @@
}
// Move to the next position.
- logicalOffset += colInfo->progressionAxis() == ColumnInfo::InlineAxis ? colRect.width() : colRect.height();
+ logicalOffset += colInfo->progressionIsInline() ? colRect.width() : colRect.height();
}
}
}
@@ -3915,7 +3915,7 @@
LayoutRect colRect = columnRectAt(colInfo, startColumn);
LayoutRect repaintRect = r;
- if (colInfo->progressionAxis() == ColumnInfo::InlineAxis) {
+ if (colInfo->progressionIsInline()) {
if (isHorizontal)
repaintRect.move(colRect.x() - logicalLeftOffset, - static_cast<int>(startColumn) * colHeight);
else
@@ -3990,7 +3990,7 @@
// Now we're in the same coordinate space as the point. See if it is inside the rectangle.
if (isHorizontalWritingMode()) {
if (point.y() >= sliceRect.y() && point.y() < sliceRect.maxY()) {
- if (colInfo->progressionAxis() == ColumnInfo::InlineAxis)
+ if (colInfo->progressionIsInline())
offset.expand(columnRectAt(colInfo, i).x() - logicalLeft, -logicalOffset);
else
offset.expand(0, columnRectAt(colInfo, i).y() - logicalOffset - borderAndPaddingBefore());
@@ -3998,7 +3998,7 @@
}
} else {
if (point.x() >= sliceRect.x() && point.x() < sliceRect.maxX()) {
- if (colInfo->progressionAxis() == ColumnInfo::InlineAxis)
+ if (colInfo->progressionIsInline())
offset.expand(-logicalOffset, columnRectAt(colInfo, i).y() - logicalLeft);
else
offset.expand(columnRectAt(colInfo, i).x() - logicalOffset - borderAndPaddingBefore(), 0);
Modified: trunk/Source/WebCore/rendering/RenderObject.cpp (162821 => 162822)
--- trunk/Source/WebCore/rendering/RenderObject.cpp 2014-01-27 02:22:34 UTC (rev 162821)
+++ trunk/Source/WebCore/rendering/RenderObject.cpp 2014-01-27 03:57:22 UTC (rev 162822)
@@ -1065,7 +1065,7 @@
return columnNumber;
ColumnInfo* columnInfo = view.columnInfo();
- if (columnInfo && columnInfo->progressionAxis() == ColumnInfo::BlockAxis) {
+ if (columnInfo && !columnInfo->progressionIsInline()) {
if (!columnInfo->progressionIsReversed())
columnNumber = (pagination.pageLength + pagination.gap - offset) / (pagination.pageLength + pagination.gap);
else