| Index: Source/core/rendering/RenderBlock.cpp
|
| diff --git a/Source/core/rendering/RenderBlock.cpp b/Source/core/rendering/RenderBlock.cpp
|
| index fd1f92102d7a99f84ec285ad64818626429aa076..cf7595736b8241428bd182c45c066d78cc38c37c 100644
|
| --- a/Source/core/rendering/RenderBlock.cpp
|
| +++ b/Source/core/rendering/RenderBlock.cpp
|
| @@ -1881,7 +1881,7 @@ void RenderBlock::paintColumnRules(PaintInfo& paintInfo, const LayoutPoint& pain
|
| bool antialias = shouldAntialiasLines(paintInfo.context);
|
|
|
| if (colInfo->progressionAxis() == ColumnInfo::InlineAxis) {
|
| - bool leftToRight = style()->isLeftToRightDirection() ^ colInfo->progressionIsReversed();
|
| + bool leftToRight = style()->isLeftToRightDirection();
|
| LayoutUnit currLogicalLeftOffset = leftToRight ? LayoutUnit() : contentLogicalWidth();
|
| LayoutUnit ruleAdd = logicalLeftOffsetForContent();
|
| LayoutUnit ruleLogicalLeft = leftToRight ? LayoutUnit() : contentLogicalWidth();
|
| @@ -1913,13 +1913,13 @@ void RenderBlock::paintColumnRules(PaintInfo& paintInfo, const LayoutPoint& pain
|
| ruleLogicalLeft = currLogicalLeftOffset;
|
| }
|
| } else {
|
| - bool topToBottom = !style()->isFlippedBlocksWritingMode() ^ colInfo->progressionIsReversed();
|
| + bool topToBottom = !style()->isFlippedBlocksWritingMode();
|
| LayoutUnit ruleLeft = isHorizontalWritingMode()
|
| ? borderLeft() + paddingLeft()
|
| - : colGap / 2 - colGap - ruleThickness / 2 + (!colInfo->progressionIsReversed() ? borderBefore() + paddingBefore() : borderAfter() + paddingAfter());
|
| + : colGap / 2 - colGap - ruleThickness / 2 + borderBefore() + paddingBefore();
|
| LayoutUnit ruleWidth = isHorizontalWritingMode() ? contentWidth() : ruleThickness;
|
| LayoutUnit ruleTop = isHorizontalWritingMode()
|
| - ? colGap / 2 - colGap - ruleThickness / 2 + (!colInfo->progressionIsReversed() ? borderBefore() + paddingBefore() : borderAfter() + paddingAfter())
|
| + ? colGap / 2 - colGap - ruleThickness / 2 + borderBefore() + paddingBefore()
|
| : borderStart() + paddingStart();
|
| LayoutUnit ruleHeight = isHorizontalWritingMode() ? ruleThickness : contentHeight();
|
| LayoutRect ruleRect(ruleLeft, ruleTop, ruleWidth, ruleHeight);
|
| @@ -3287,7 +3287,7 @@ void RenderBlock::calcColumnWidth()
|
| LayoutUnit desiredColumnWidth = contentLogicalWidth();
|
|
|
| // For now, we don't support multi-column layouts when printing, since we have to do a lot of work for proper pagination.
|
| - if (document().paginated() || (style()->hasAutoColumnCount() && style()->hasAutoColumnWidth()) || !style()->hasInlineColumnAxis()) {
|
| + if (document().paginated() || !style()->specifiesColumns()) {
|
| setDesiredColumnCountAndWidth(desiredColumnCount, desiredColumnWidth);
|
| return;
|
| }
|
| @@ -3317,7 +3317,7 @@ bool RenderBlock::requiresColumns(int desiredColumnCount) const
|
| bool isPaginated = style()->isOverflowPaged() && node() != document().viewportDefiningElement();
|
|
|
| return firstChild()
|
| - && (desiredColumnCount != 1 || !style()->hasAutoColumnWidth() || !style()->hasInlineColumnAxis() || isPaginated)
|
| + && (desiredColumnCount != 1 || !style()->hasAutoColumnWidth() || isPaginated)
|
| && !firstChild()->isAnonymousColumnsBlock()
|
| && !firstChild()->isAnonymousColumnSpanBlock();
|
| }
|
| @@ -3343,11 +3343,11 @@ void RenderBlock::setDesiredColumnCountAndWidth(int count, LayoutUnit width)
|
| }
|
| info->setDesiredColumnWidth(width);
|
| if (style()->isOverflowPaged()) {
|
| + info->setDesiredColumnCount(1);
|
| info->setProgressionAxis(style()->hasInlinePaginationAxis() ? ColumnInfo::InlineAxis : ColumnInfo::BlockAxis);
|
| } else {
|
| info->setDesiredColumnCount(count);
|
| - info->setProgressionAxis(style()->hasInlineColumnAxis() ? ColumnInfo::InlineAxis : ColumnInfo::BlockAxis);
|
| - info->setProgressionIsReversed(style()->columnProgression() == ReverseColumnProgression);
|
| + info->setProgressionAxis(ColumnInfo::InlineAxis);
|
| }
|
| }
|
| }
|
| @@ -3384,15 +3384,12 @@ LayoutRect RenderBlock::columnRectAt(ColumnInfo* colInfo, unsigned index) const
|
| LayoutUnit colLogicalLeft = logicalLeftOffsetForContent();
|
| LayoutUnit colGap = columnGap();
|
| if (colInfo->progressionAxis() == ColumnInfo::InlineAxis) {
|
| - if (style()->isLeftToRightDirection() ^ colInfo->progressionIsReversed())
|
| + if (style()->isLeftToRightDirection())
|
| colLogicalLeft += index * (colLogicalWidth + colGap);
|
| else
|
| colLogicalLeft += contentLogicalWidth() - colLogicalWidth - index * (colLogicalWidth + colGap);
|
| } else {
|
| - if (!colInfo->progressionIsReversed())
|
| - colLogicalTop += index * (colLogicalHeight + colGap);
|
| - else
|
| - colLogicalTop += contentLogicalHeight() - colLogicalHeight - index * (colLogicalHeight + colGap);
|
| + colLogicalTop += index * (colLogicalHeight + colGap);
|
| }
|
|
|
| if (isHorizontalWritingMode())
|
|
|