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..88a086d66a04c0dfddc71b9e67c2b84303420bb7 100644 |
--- a/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp |
+++ b/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp |
@@ -381,7 +381,7 @@ 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()); |
+ const DocumentMarker& marker(*i->get()); |
// markers are returned in order, so stop if we are now past the specified |
// range |
@@ -401,18 +401,18 @@ 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); |
+ DocumentMarker* newLeft = |
+ marker.cloneWithNewOffsets(marker.startOffset(), 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); |
+ DocumentMarker* newRight = |
+ marker.cloneWithNewOffsets(endOffset, marker.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; |
} |