Index: Source/core/layout/LayoutText.cpp |
diff --git a/Source/core/layout/LayoutText.cpp b/Source/core/layout/LayoutText.cpp |
index a48a0c8071c36c873d05fc97012633823f5a6825..1fff79d36550064528f7c562a95f8462ae3ce4b7 100644 |
--- a/Source/core/layout/LayoutText.cpp |
+++ b/Source/core/layout/LayoutText.cpp |
@@ -894,6 +894,7 @@ void LayoutText::computePreferredLogicalWidths(float leadWidth, HashSet<const Si |
int firstGlyphLeftOverflow = -1; |
bool breakAll = (styleToUse.wordBreak() == BreakAllWordBreak || styleToUse.wordBreak() == BreakWordBreak) && styleToUse.autoWrap(); |
+ bool keepAll = styleToUse.wordBreak() == KeepAllWordBreak && styleToUse.autoWrap(); |
BidiResolver<TextRunIterator, BidiCharacterRun> bidiResolver; |
BidiCharacterRun* run; |
@@ -976,7 +977,7 @@ void LayoutText::computePreferredLogicalWidths(float leadWidth, HashSet<const Si |
continue; |
} |
- bool hasBreak = breakIterator.isBreakable(i, nextBreakable, breakAll ? LineBreakType::BreakAll : LineBreakType::Normal); |
+ bool hasBreak = breakIterator.isBreakable(i, nextBreakable, breakAll ? LineBreakType::BreakAll : keepAll ? LineBreakType::KeepAll : LineBreakType::Normal); |
bool betweenWords = true; |
int j = i; |
while (c != newlineCharacter && c != space && c != characterTabulation && (c != softHyphen)) { |