diff options
Diffstat (limited to 'WebCore/rendering/RenderBlockLineLayout.cpp')
-rw-r--r-- | WebCore/rendering/RenderBlockLineLayout.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/WebCore/rendering/RenderBlockLineLayout.cpp b/WebCore/rendering/RenderBlockLineLayout.cpp index 127ffe0..878d1ab 100644 --- a/WebCore/rendering/RenderBlockLineLayout.cpp +++ b/WebCore/rendering/RenderBlockLineLayout.cpp @@ -1043,8 +1043,16 @@ void RenderBlock::layoutInlineChildren(bool relayoutChildren, int& repaintLogica } } + // Expand the last line to accommodate Ruby in flipped lines writing modes (the Ruby is on + // the after side in this case). + int lastLineRubyAdjustment = 0; + if (lastRootBox() && style()->isFlippedLinesWritingMode()) { + int lowestAllowedPosition = max(lastRootBox()->lineBottom(), logicalHeight() + paddingAfter()); + lastLineRubyAdjustment = lastRootBox()->computeBlockDirectionRubyAdjustment(lowestAllowedPosition); + } + // Now add in the bottom border/padding. - setLogicalHeight(logicalHeight() + borderAfter() + paddingAfter() + scrollbarLogicalHeight()); + setLogicalHeight(logicalHeight() + lastLineRubyAdjustment + borderAfter() + paddingAfter() + scrollbarLogicalHeight()); if (!firstLineBox() && hasLineIfEmpty()) setLogicalHeight(logicalHeight() + lineHeight(true, style()->isHorizontalWritingMode() ? HorizontalLine : VerticalLine, PositionOfInteriorLineBoxes)); |