| Index: Source/core/rendering/RenderBlockFlow.cpp
|
| diff --git a/Source/core/rendering/RenderBlockFlow.cpp b/Source/core/rendering/RenderBlockFlow.cpp
|
| index ab16dc0da4ba84bbe084dcf8f28a8ee0865c927f..d485a94340f34c0a5911fc7131ca389a2308b684 100644
|
| --- a/Source/core/rendering/RenderBlockFlow.cpp
|
| +++ b/Source/core/rendering/RenderBlockFlow.cpp
|
| @@ -2659,9 +2659,15 @@ LayoutUnit RenderBlockFlow::logicalRightSelectionOffset(RenderBlock* rootBlock,
|
| template <typename CharacterType>
|
| static inline TextRun constructTextRunInternal(RenderObject* context, const Font& font, const CharacterType* characters, int length, RenderStyle* style, TextRun::ExpansionBehavior expansion)
|
| {
|
| + return constructTextRunInternal(context, font, characters, length, style, LTR, expansion);
|
| +}
|
| +
|
| +template <typename CharacterType>
|
| +static inline TextRun constructTextRunInternal(RenderObject* context, const Font& font, const CharacterType* characters, int length, RenderStyle* style, TextDirection direction, TextRun::ExpansionBehavior expansion)
|
| +{
|
| ASSERT(style);
|
|
|
| - TextDirection textDirection = LTR;
|
| + TextDirection textDirection = direction;
|
| bool directionalOverride = style->rtlOrdering() == VisualOrder;
|
|
|
| TextRun run(characters, length, 0, 0, expansion, textDirection, directionalOverride);
|
| @@ -2709,12 +2715,12 @@ TextRun RenderBlockFlow::constructTextRun(RenderObject* context, const Font& fon
|
| return constructTextRunInternal(context, font, text->characters16(), text->textLength(), style, expansion);
|
| }
|
|
|
| -TextRun RenderBlockFlow::constructTextRun(RenderObject* context, const Font& font, const RenderText* text, unsigned offset, unsigned length, RenderStyle* style, TextRun::ExpansionBehavior expansion)
|
| +TextRun RenderBlockFlow::constructTextRun(RenderObject* context, const Font& font, const RenderText* text, unsigned offset, unsigned length, RenderStyle* style, TextDirection direction, TextRun::ExpansionBehavior expansion)
|
| {
|
| ASSERT(offset + length <= text->textLength());
|
| if (text->is8Bit())
|
| - return constructTextRunInternal(context, font, text->characters8() + offset, length, style, expansion);
|
| - return constructTextRunInternal(context, font, text->characters16() + offset, length, style, expansion);
|
| + return constructTextRunInternal(context, font, text->characters8() + offset, length, style, direction, expansion);
|
| + return constructTextRunInternal(context, font, text->characters16() + offset, length, style, direction, expansion);
|
| }
|
|
|
| TextRun RenderBlockFlow::constructTextRun(RenderObject* context, const Font& font, const String& string, RenderStyle* style, TextRun::ExpansionBehavior expansion, TextRunFlags flags)
|
|
|