| Index: Source/core/layout/LayoutMultiColumnFlowThread.cpp
|
| diff --git a/Source/core/layout/LayoutMultiColumnFlowThread.cpp b/Source/core/layout/LayoutMultiColumnFlowThread.cpp
|
| index 5febbf5582babd2f2eef97e9fd8cbbd6a89127bc..cbd7f7df22eb4b1392629c76b8b4c0ca13892fd6 100644
|
| --- a/Source/core/layout/LayoutMultiColumnFlowThread.cpp
|
| +++ b/Source/core/layout/LayoutMultiColumnFlowThread.cpp
|
| @@ -202,6 +202,18 @@ bool LayoutMultiColumnFlowThread::needsNewWidth() const
|
| return newWidth != logicalWidth();
|
| }
|
|
|
| +LayoutPoint LayoutMultiColumnFlowThread::visualPointToFlowThreadPoint(const LayoutPoint& visualPoint) const
|
| +{
|
| + LayoutUnit blockOffset = isHorizontalWritingMode() ? visualPoint.y() : visualPoint.x();
|
| + const LayoutMultiColumnSet* columnSet = nullptr;
|
| + for (const LayoutMultiColumnSet* candidate = firstMultiColumnSet(); candidate; candidate = candidate->nextSiblingMultiColumnSet()) {
|
| + columnSet = candidate;
|
| + if (candidate->logicalBottom() > blockOffset)
|
| + break;
|
| + }
|
| + return columnSet ? columnSet->visualPointToFlowThreadPoint(toLayoutPoint(visualPoint + location() - columnSet->location())) : visualPoint;
|
| +}
|
| +
|
| LayoutMultiColumnSet* LayoutMultiColumnFlowThread::columnSetAtBlockOffset(LayoutUnit offset) const
|
| {
|
| if (m_lastSetWorkedOn) {
|
|
|