Index: third_party/WebKit/Source/core/editing/VisibleSelection.cpp |
diff --git a/third_party/WebKit/Source/core/editing/VisibleSelection.cpp b/third_party/WebKit/Source/core/editing/VisibleSelection.cpp |
index 93a33918ea786837abb6554909c17aab4b78dc89..8d89792653f41418faea5f8a3e9a1dd4f115a4f3 100644 |
--- a/third_party/WebKit/Source/core/editing/VisibleSelection.cpp |
+++ b/third_party/WebKit/Source/core/editing/VisibleSelection.cpp |
@@ -482,7 +482,8 @@ void VisibleSelectionTemplate<Strategy>::validate(TextGranularity granularity) { |
// TODO(xiaochengh): Add a DocumentLifecycle::DisallowTransitionScope here. |
m_granularity = granularity; |
- m_hasTrailingWhitespace = false; |
+ if (m_granularity != WordGranularity) |
+ m_hasTrailingWhitespace = false; |
setBaseAndExtentToDeepEquivalents(); |
if (m_base.isNull() || m_extent.isNull()) { |
m_base = m_extent = m_start = m_end = PositionTemplate<Strategy>(); |
@@ -518,6 +519,9 @@ void VisibleSelectionTemplate<Strategy>::validate(TextGranularity granularity) { |
m_start = mostForwardCaretPosition(m_start); |
m_end = mostBackwardCaretPosition(m_end); |
} |
+ if (!m_hasTrailingWhitespace) |
+ return; |
+ appendTrailingWhitespace(); |
} |
template <typename Strategy> |