Index: third_party/WebKit/Source/core/editing/markers/GenericDocumentMarkerListImpl.cpp |
diff --git a/third_party/WebKit/Source/core/editing/markers/GenericDocumentMarkerListImpl.cpp b/third_party/WebKit/Source/core/editing/markers/GenericDocumentMarkerListImpl.cpp |
index 587e67e74f607f166383a26bd66370935c324c11..5f0b66d71a7289b337e46ae6c2cb7203da3f3f19 100644 |
--- a/third_party/WebKit/Source/core/editing/markers/GenericDocumentMarkerListImpl.cpp |
+++ b/third_party/WebKit/Source/core/editing/markers/GenericDocumentMarkerListImpl.cpp |
@@ -14,7 +14,20 @@ bool GenericDocumentMarkerListImpl::IsEmpty() const { |
} |
void GenericDocumentMarkerListImpl::Add(DocumentMarker* marker) { |
- DocumentMarkerListEditor::AddMarker(&markers_, marker); |
+ switch (marker->GetType()) { |
+ case DocumentMarker::kSpelling: |
+ case DocumentMarker::kGrammar: |
+ DocumentMarkerListEditor::AddMarkerAndMergeOverlapping(&markers_, marker); |
+ return; |
+ case DocumentMarker::kTextMatch: |
+ case DocumentMarker::kComposition: |
+ DocumentMarkerListEditor::AddMarkerWithoutMergingOverlapping(&markers_, |
+ marker); |
+ return; |
+ } |
+ |
+ NOTREACHED() << "Unhanded marker type: " << marker->GetType(); |
+ return; |
} |
void GenericDocumentMarkerListImpl::Clear() { |