| Index: third_party/WebKit/Source/core/layout/LayoutMultiColumnFlowThread.cpp
|
| diff --git a/third_party/WebKit/Source/core/layout/LayoutMultiColumnFlowThread.cpp b/third_party/WebKit/Source/core/layout/LayoutMultiColumnFlowThread.cpp
|
| index c361d366aebb7b5cef1f52d602033b60f7728bef..30551e504562a5c89f266da9890ad12836c0f64b 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutMultiColumnFlowThread.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutMultiColumnFlowThread.cpp
|
| @@ -332,21 +332,26 @@ bool LayoutMultiColumnFlowThread::isPageLogicalHeightKnown() const
|
| return false;
|
| }
|
|
|
| -LayoutSize LayoutMultiColumnFlowThread::flowThreadTranslationAtOffset(LayoutUnit offsetInFlowThread, CoordinateSpaceConversion mode) const
|
| +LayoutSize LayoutMultiColumnFlowThread::flowThreadTranslationAtOffset(LayoutUnit offsetInFlowThread, PageBoundaryRule rule, CoordinateSpaceConversion mode) const
|
| {
|
| if (!hasValidColumnSetInfo())
|
| return LayoutSize(0, 0);
|
| LayoutMultiColumnSet* columnSet = columnSetAtBlockOffset(offsetInFlowThread);
|
| if (!columnSet)
|
| return LayoutSize(0, 0);
|
| - return columnSet->flowThreadTranslationAtOffset(offsetInFlowThread, mode);
|
| + return columnSet->flowThreadTranslationAtOffset(offsetInFlowThread, rule, mode);
|
| }
|
|
|
| LayoutSize LayoutMultiColumnFlowThread::flowThreadTranslationAtPoint(const LayoutPoint& flowThreadPoint, CoordinateSpaceConversion mode) const
|
| {
|
| LayoutPoint flippedPoint = flipForWritingMode(flowThreadPoint);
|
| LayoutUnit blockOffset = isHorizontalWritingMode() ? flippedPoint.y() : flippedPoint.x();
|
| - return flowThreadTranslationAtOffset(blockOffset, mode);
|
| +
|
| + // If block direction is flipped, points at a column boundary belong in the former column, not
|
| + // the latter.
|
| + PageBoundaryRule rule = hasFlippedBlocksWritingMode() ? AssociateWithFormerPage : AssociateWithLatterPage;
|
| +
|
| + return flowThreadTranslationAtOffset(blockOffset, rule, mode);
|
| }
|
|
|
| LayoutPoint LayoutMultiColumnFlowThread::flowThreadPointToVisualPoint(const LayoutPoint& flowThreadPoint) const
|
|
|