Index: third_party/WebKit/Source/core/editing/EditingUtilities.cpp |
diff --git a/third_party/WebKit/Source/core/editing/EditingUtilities.cpp b/third_party/WebKit/Source/core/editing/EditingUtilities.cpp |
index f49d88fa5cb99062c29e0146ace994920cc096a7..44a8a9a4f722673085e570e5ceb0f30edebd2670 100644 |
--- a/third_party/WebKit/Source/core/editing/EditingUtilities.cpp |
+++ b/third_party/WebKit/Source/core/editing/EditingUtilities.cpp |
@@ -851,7 +851,7 @@ TextDirection primaryDirectionOf(const Node& node) |
return primaryDirection; |
} |
-String stringWithRebalancedWhitespace(const String& string, bool startIsStartOfParagraph, bool endIsEndOfParagraph) |
+String stringWithRebalancedWhitespace(const String& string, bool startIsStartOfParagraph, bool shouldEmitNBSPbeforeEnd) |
{ |
unsigned length = string.length(); |
@@ -867,7 +867,8 @@ String stringWithRebalancedWhitespace(const String& string, bool startIsStartOfP |
continue; |
} |
- if (previousCharacterWasSpace || (!i && startIsStartOfParagraph) || (i + 1 == length && endIsEndOfParagraph)) { |
+ // We need to ensure there is no next sibling text node. See http://crbug.com/310149 |
+ if (previousCharacterWasSpace || (!i && startIsStartOfParagraph) || (i + 1 == length && shouldEmitNBSPbeforeEnd)) { |
rebalancedString.append(noBreakSpaceCharacter); |
previousCharacterWasSpace = false; |
} else { |