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 34506d1809171ca1ef41fdc04d995e252f4aa773..79db60a2f69add805e4f3d8e6cf4aab009e89dba 100644 |
--- a/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp |
+++ b/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp |
@@ -381,11 +381,11 @@ void DocumentMarkerController::removeMarkers( |
MarkerList::iterator startPos = |
std::upper_bound(list->begin(), list->end(), startOffset, endsBefore); |
for (MarkerList::iterator i = startPos; i != list->end();) { |
- DocumentMarker marker(*i->get()); |
+ DocumentMarker* marker = (*i)->clone(); |
Xiaocheng
2017/03/30 02:20:28
No need to change this part. |marker| should refer
|
// markers are returned in order, so stop if we are now past the specified |
// range |
- if (marker.startOffset() >= endOffset) |
+ if (marker->startOffset() >= endOffset) |
break; |
// at this point we know that marker and target intersect in some way |
@@ -400,19 +400,19 @@ void DocumentMarkerController::removeMarkers( |
} |
// add either of the resulting slices that are left after removing target |
- if (startOffset > marker.startOffset()) { |
- DocumentMarker newLeft = marker; |
- newLeft.setEndOffset(startOffset); |
+ if (startOffset > marker->startOffset()) { |
+ DocumentMarker* newLeft = marker->clone(); |
+ newLeft->setEndOffset(startOffset); |
size_t insertIndex = i - list->begin(); |
- list->insert(insertIndex, RenderedDocumentMarker::create(newLeft)); |
+ list->insert(insertIndex, RenderedDocumentMarker::create(*newLeft)); |
// Move to the marker after the inserted one. |
i = list->begin() + insertIndex + 1; |
} |
- if (marker.endOffset() > endOffset) { |
- DocumentMarker newRight = marker; |
- newRight.setStartOffset(endOffset); |
+ if (marker->endOffset() > endOffset) { |
+ DocumentMarker* newRight = marker->clone(); |
+ newRight->setStartOffset(endOffset); |
size_t insertIndex = i - list->begin(); |
- list->insert(insertIndex, RenderedDocumentMarker::create(newRight)); |
+ list->insert(insertIndex, RenderedDocumentMarker::create(*newRight)); |
// Move to the marker after the inserted one. |
i = list->begin() + insertIndex + 1; |
} |