| Index: third_party/WebKit/Source/core/editing/markers/SpellCheckMarkerListImpl.cpp
|
| diff --git a/third_party/WebKit/Source/core/editing/markers/SpellCheckMarkerListImpl.cpp b/third_party/WebKit/Source/core/editing/markers/SpellCheckMarkerListImpl.cpp
|
| index 5d792c6f7187c3b1b81df52303ce98f2dda8593d..b3ad6755de0e8ed2a75c4373e550e671658eedb4 100644
|
| --- a/third_party/WebKit/Source/core/editing/markers/SpellCheckMarkerListImpl.cpp
|
| +++ b/third_party/WebKit/Source/core/editing/markers/SpellCheckMarkerListImpl.cpp
|
| @@ -77,4 +77,21 @@ DEFINE_TRACE(SpellCheckMarkerListImpl) {
|
| DocumentMarkerList::Trace(visitor);
|
| }
|
|
|
| +bool SpellCheckMarkerListImpl::RemoveMarkersUnderWords(
|
| + const String& node_text,
|
| + const Vector<String>& words) {
|
| + bool removed_markers = false;
|
| + for (size_t j = markers_.size(); j > 0; --j) {
|
| + const DocumentMarker& marker = *markers_[j - 1];
|
| + const unsigned start = marker.StartOffset();
|
| + const unsigned length = marker.EndOffset() - marker.StartOffset();
|
| + const String& marker_text = node_text.Substring(start, length);
|
| + if (words.Contains(marker_text)) {
|
| + markers_.erase(j - 1);
|
| + removed_markers = true;
|
| + }
|
| + }
|
| + return removed_markers;
|
| +}
|
| +
|
| } // namespace blink
|
|
|