Index: Source/core/rendering/RenderText.cpp |
diff --git a/Source/core/rendering/RenderText.cpp b/Source/core/rendering/RenderText.cpp |
index d60eac1bd18d6904e6c73b16bf977a4694d396ea..20e2052e248ff9cc58ddffa2fa847688b2c146b7 100644 |
--- a/Source/core/rendering/RenderText.cpp |
+++ b/Source/core/rendering/RenderText.cpp |
@@ -938,14 +938,18 @@ void RenderText::computePreferredLogicalWidths(float leadWidth, HashSet<const Si |
bool breakAll = (styleToUse->wordBreak() == BreakAllWordBreak || styleToUse->wordBreak() == BreakWordBreak) && styleToUse->autoWrap(); |
TextRun textRun(text()); |
- textRun.setDirection(textDirection); |
BidiResolver<TextRunIterator, BidiCharacterRun> bidiResolver; |
bidiResolver.setStatus(BidiStatus(textRun.direction(), textRun.directionalOverride())); |
bidiResolver.setPositionIgnoringNestedIsolates(TextRunIterator(&textRun, 0)); |
+ |
+ bool hasStrongDirectionality; |
+ textRun.setDirection(bidiResolver.determineParagraphDirectionality(&hasStrongDirectionality)); |
leviw_travelin_and_unemployed
2014/03/01 01:37:09
This is confusing since we're only running on a Te
|
+ bidiResolver.setStatus(BidiStatus(textRun.direction(), textRun.directionalOverride())); |
+ bidiResolver.setPositionIgnoringNestedIsolates(TextRunIterator(&textRun, 0)); |
+ |
bool hardLineBreak = false; |
bool reorderRuns = false; |
bidiResolver.createBidiRunsForLine(TextRunIterator(&textRun, textRun.length()), NoVisualOverride, hardLineBreak, reorderRuns); |
- |
BidiRunList<BidiCharacterRun>& bidiRuns = bidiResolver.runs(); |
BidiCharacterRun* run = bidiRuns.firstRun(); |
for (int i = 0; i < len; i++) { |