Index: third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp |
diff --git a/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp b/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp |
index fc3101d976b001cda671ff1b45b4cc88bb7ff52a..ad1da82cbb6413d7efc0093cb387a2629e542d0a 100644 |
--- a/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp |
+++ b/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp |
@@ -146,9 +146,7 @@ void DocumentMarkerController::PrepareForDestruction() { |
void DocumentMarkerController::RemoveMarkers( |
TextIterator& marked_text, |
- DocumentMarker::MarkerTypes marker_types, |
- RemovePartiallyOverlappingMarkerOrNot |
- should_remove_partially_overlapping_marker) { |
+ DocumentMarker::MarkerTypes marker_types) { |
for (; !marked_text.AtEnd(); marked_text.Advance()) { |
if (!PossiblyHasMarkers(marker_types)) |
return; |
@@ -157,21 +155,17 @@ void DocumentMarkerController::RemoveMarkers( |
int start_offset = marked_text.StartOffsetInCurrentContainer(); |
int end_offset = marked_text.EndOffsetInCurrentContainer(); |
RemoveMarkers(marked_text.CurrentContainer(), start_offset, |
- end_offset - start_offset, marker_types, |
- should_remove_partially_overlapping_marker); |
+ end_offset - start_offset, marker_types); |
} |
} |
void DocumentMarkerController::RemoveMarkers( |
const EphemeralRange& range, |
- DocumentMarker::MarkerTypes marker_types, |
- RemovePartiallyOverlappingMarkerOrNot |
- should_remove_partially_overlapping_marker) { |
+ DocumentMarker::MarkerTypes marker_types) { |
DCHECK(!document_->NeedsLayoutTreeUpdate()); |
TextIterator marked_text(range.StartPosition(), range.EndPosition()); |
- DocumentMarkerController::RemoveMarkers( |
- marked_text, marker_types, should_remove_partially_overlapping_marker); |
+ DocumentMarkerController::RemoveMarkers(marked_text, marker_types); |
} |
static bool StartsFurther(const Member<RenderedDocumentMarker>& lhv, |
@@ -334,9 +328,7 @@ void DocumentMarkerController::RemoveMarkers( |
Node* node, |
unsigned start_offset, |
int length, |
- DocumentMarker::MarkerTypes marker_types, |
- RemovePartiallyOverlappingMarkerOrNot |
- should_remove_partially_overlapping_marker) { |
+ DocumentMarker::MarkerTypes marker_types) { |
if (length <= 0) |
return; |
@@ -373,34 +365,8 @@ void DocumentMarkerController::RemoveMarkers( |
if (marker.StartOffset() >= end_offset) |
break; |
- // at this point we know that marker and target intersect in some way |
- doc_dirty = true; |
- |
- // pitch the old marker |
list->erase(i - list->begin()); |
- |
- if (should_remove_partially_overlapping_marker) { |
- // Stop here. Don't add resulting slices back. |
- continue; |
- } |
- |
- // add either of the resulting slices that are left after removing target |
- if (start_offset > marker.StartOffset()) { |
- DocumentMarker new_left = marker; |
- new_left.SetEndOffset(start_offset); |
- size_t insert_index = i - list->begin(); |
- list->insert(insert_index, RenderedDocumentMarker::Create(new_left)); |
- // Move to the marker after the inserted one. |
- i = list->begin() + insert_index + 1; |
- } |
- if (marker.EndOffset() > end_offset) { |
- DocumentMarker new_right = marker; |
- new_right.SetStartOffset(end_offset); |
- size_t insert_index = i - list->begin(); |
- list->insert(insert_index, RenderedDocumentMarker::Create(new_right)); |
- // Move to the marker after the inserted one. |
- i = list->begin() + insert_index + 1; |
- } |
+ doc_dirty = true; |
} |
if (list->IsEmpty()) { |