| Index: Source/core/rendering/RenderBlockLineLayout.cpp
|
| diff --git a/Source/core/rendering/RenderBlockLineLayout.cpp b/Source/core/rendering/RenderBlockLineLayout.cpp
|
| index 4cd3937e549461039aa480e123f0871bd251c9bf..2f87a417b96e76df5db5049cf565935c66e99818 100644
|
| --- a/Source/core/rendering/RenderBlockLineLayout.cpp
|
| +++ b/Source/core/rendering/RenderBlockLineLayout.cpp
|
| @@ -1167,11 +1167,16 @@ static LayoutUnit getBorderPaddingMargin(RenderBoxModelObject* child, bool endOf
|
| static inline void stripTrailingSpace(float& inlineMax, float& inlineMin, RenderObject* trailingSpaceChild)
|
| {
|
| if (trailingSpaceChild && trailingSpaceChild->isText()) {
|
| + bool useComplexCodePath = !toRenderText(trailingSpaceChild)->
|
| + canUseSimpleFontCodePath();
|
| // Collapse away the trailing space at the end of a block.
|
| RenderText* t = toRenderText(trailingSpaceChild);
|
| const UChar space = ' ';
|
| const Font& font = t->style()->font(); // FIXME: This ignores first-line.
|
| - float spaceWidth = font.width(constructTextRun(t, font, &space, 1, t->style(), LTR));
|
| + TextRun run = constructTextRun(t, font, &space, 1, t->style(), LTR);
|
| + if (useComplexCodePath)
|
| + run.setUseComplexCodePath(true);
|
| + float spaceWidth = font.width(run);
|
| inlineMax -= spaceWidth + font.fontDescription().wordSpacing();
|
| if (inlineMin > inlineMax)
|
| inlineMin = inlineMax;
|
|
|