Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(183)

Unified Diff: third_party/WebKit/Source/core/editing/iterators/TextIteratorBehavior.cpp

Issue 2832123002: Do not count extra trailing space for the last word in a range (Closed)
Patch Set: getElementById Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/editing/iterators/TextIteratorBehavior.cpp
diff --git a/third_party/WebKit/Source/core/editing/iterators/TextIteratorBehavior.cpp b/third_party/WebKit/Source/core/editing/iterators/TextIteratorBehavior.cpp
index 41909e904f78239fcc9e327f2e3649f2572d5200..9b432180657cfa0e93ab84bd5ed555a4bfb45a40 100644
--- a/third_party/WebKit/Source/core/editing/iterators/TextIteratorBehavior.cpp
+++ b/third_party/WebKit/Source/core/editing/iterators/TextIteratorBehavior.cpp
@@ -107,6 +107,12 @@ TextIteratorBehavior::Builder::SetStopsOnFormControls(bool value) {
return *this;
}
+TextIteratorBehavior::Builder&
+TextIteratorBehavior::Builder::SetDoesNotEmitSpaceBeyondRangeEnd(bool value) {
+ behavior_.does_not_emit_space_beyond_range_end_ = value;
+ return *this;
+}
+
// -
TextIteratorBehavior::TextIteratorBehavior(const TextIteratorBehavior& other) =
default;
@@ -126,7 +132,8 @@ TextIteratorBehavior::TextIteratorBehavior()
for_selection_to_string_(false),
for_window_find_(false),
ignores_style_visibility_(false),
- stops_on_form_controls_(false) {}
+ stops_on_form_controls_(false),
+ does_not_emit_space_beyond_range_end_(false) {}
TextIteratorBehavior::~TextIteratorBehavior() = default;
@@ -148,7 +155,9 @@ bool TextIteratorBehavior::operator==(const TextIteratorBehavior& other) const {
for_selection_to_string_ == other.for_selection_to_string_ ||
for_window_find_ == other.for_window_find_ ||
ignores_style_visibility_ == other.ignores_style_visibility_ ||
- stops_on_form_controls_ == other.stops_on_form_controls_;
+ stops_on_form_controls_ == other.stops_on_form_controls_ ||
+ does_not_emit_space_beyond_range_end_ ==
+ other.does_not_emit_space_beyond_range_end_;
}
bool TextIteratorBehavior::operator!=(const TextIteratorBehavior& other) const {
@@ -186,4 +195,13 @@ TextIteratorBehavior::AllVisiblePositionsRangeLengthBehavior() {
.Build();
}
+// static
+TextIteratorBehavior
+TextIteratorBehavior::NoTrailingSpaceRangeLengthBehavior() {
+ return TextIteratorBehavior::Builder()
+ .SetEmitsObjectReplacementCharacter(true)
+ .SetDoesNotEmitSpaceBeyondRangeEnd(true)
+ .Build();
+}
+
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698