| 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)) {
|
|
|