summaryrefslogtreecommitdiff
path: root/Source/WebCore/rendering/LayoutState.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/rendering/LayoutState.cpp')
-rw-r--r--Source/WebCore/rendering/LayoutState.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/Source/WebCore/rendering/LayoutState.cpp b/Source/WebCore/rendering/LayoutState.cpp
index 1fbfc0cdd..5f780dca0 100644
--- a/Source/WebCore/rendering/LayoutState.cpp
+++ b/Source/WebCore/rendering/LayoutState.cpp
@@ -196,16 +196,18 @@ void LayoutState::clearPaginationInformation()
m_columnInfo = m_next->m_columnInfo;
}
-LayoutUnit LayoutState::pageLogicalOffset(LayoutUnit childLogicalOffset) const
+LayoutUnit LayoutState::pageLogicalOffset(RenderBox* child, LayoutUnit childLogicalOffset) const
{
- return m_layoutOffset.height() + childLogicalOffset - m_pageOffset.height();
+ if (child->isHorizontalWritingMode())
+ return m_layoutOffset.height() + childLogicalOffset - m_pageOffset.height();
+ return m_layoutOffset.width() + childLogicalOffset - m_pageOffset.width();
}
-void LayoutState::addForcedColumnBreak(LayoutUnit childLogicalOffset)
+void LayoutState::addForcedColumnBreak(RenderBox* child, LayoutUnit childLogicalOffset)
{
if (!m_columnInfo || m_columnInfo->columnHeight())
return;
- m_columnInfo->addForcedBreak(pageLogicalOffset(childLogicalOffset));
+ m_columnInfo->addForcedBreak(pageLogicalOffset(child, childLogicalOffset));
}
void LayoutState::propagateLineGridInfo(RenderBox* renderer)