OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2001 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) | 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) |
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights |
7 * reserved. | 7 * reserved. |
8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. | 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. |
9 * (http://www.torchmobile.com/) | 9 * (http://www.torchmobile.com/) |
10 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 10 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
278 size_t index = firstOverlapping - list->begin(); | 278 size_t index = firstOverlapping - list->begin(); |
279 list->insert(index, toInsert); | 279 list->insert(index, toInsert); |
280 MarkerList::iterator inserted = list->begin() + index; | 280 MarkerList::iterator inserted = list->begin() + index; |
281 firstOverlapping = inserted + 1; | 281 firstOverlapping = inserted + 1; |
282 for (MarkerList::iterator i = firstOverlapping; | 282 for (MarkerList::iterator i = firstOverlapping; |
283 i != list->end() && (*i)->startOffset() <= (*inserted)->endOffset();) { | 283 i != list->end() && (*i)->startOffset() <= (*inserted)->endOffset();) { |
284 (*inserted)->setStartOffset( | 284 (*inserted)->setStartOffset( |
285 std::min((*inserted)->startOffset(), (*i)->startOffset())); | 285 std::min((*inserted)->startOffset(), (*i)->startOffset())); |
286 (*inserted)->setEndOffset( | 286 (*inserted)->setEndOffset( |
287 std::max((*inserted)->endOffset(), (*i)->endOffset())); | 287 std::max((*inserted)->endOffset(), (*i)->endOffset())); |
288 list->remove(i - list->begin()); | 288 list->erase(i - list->begin()); |
289 } | 289 } |
290 } | 290 } |
291 | 291 |
292 // copies markers from srcNode to dstNode, applying the specified shift delta to | 292 // copies markers from srcNode to dstNode, applying the specified shift delta to |
293 // the copies. The shift is useful if, e.g., the caller has created the dstNode | 293 // the copies. The shift is useful if, e.g., the caller has created the dstNode |
294 // from a non-prefix substring of the srcNode. | 294 // from a non-prefix substring of the srcNode. |
295 void DocumentMarkerController::copyMarkers(Node* srcNode, | 295 void DocumentMarkerController::copyMarkers(Node* srcNode, |
296 unsigned startOffset, | 296 unsigned startOffset, |
297 int length, | 297 int length, |
298 Node* dstNode, | 298 Node* dstNode, |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
385 | 385 |
386 // markers are returned in order, so stop if we are now past the specified | 386 // markers are returned in order, so stop if we are now past the specified |
387 // range | 387 // range |
388 if (marker.startOffset() >= endOffset) | 388 if (marker.startOffset() >= endOffset) |
389 break; | 389 break; |
390 | 390 |
391 // at this point we know that marker and target intersect in some way | 391 // at this point we know that marker and target intersect in some way |
392 docDirty = true; | 392 docDirty = true; |
393 | 393 |
394 // pitch the old marker | 394 // pitch the old marker |
395 list->remove(i - list->begin()); | 395 list->erase(i - list->begin()); |
396 | 396 |
397 if (shouldRemovePartiallyOverlappingMarker) { | 397 if (shouldRemovePartiallyOverlappingMarker) { |
398 // Stop here. Don't add resulting slices back. | 398 // Stop here. Don't add resulting slices back. |
399 continue; | 399 continue; |
400 } | 400 } |
401 | 401 |
402 // add either of the resulting slices that are left after removing target | 402 // add either of the resulting slices that are left after removing target |
403 if (startOffset > marker.startOffset()) { | 403 if (startOffset > marker.startOffset()) { |
404 DocumentMarker newLeft = marker; | 404 DocumentMarker newLeft = marker; |
405 newLeft.setEndOffset(startOffset); | 405 newLeft.setEndOffset(startOffset); |
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
618 for (size_t markerListIndex = 0; | 618 for (size_t markerListIndex = 0; |
619 markerListIndex < DocumentMarker::MarkerTypeIndexesCount; | 619 markerListIndex < DocumentMarker::MarkerTypeIndexesCount; |
620 ++markerListIndex) { | 620 ++markerListIndex) { |
621 Member<MarkerList>& list = markers[markerListIndex]; | 621 Member<MarkerList>& list = markers[markerListIndex]; |
622 if (!list) | 622 if (!list) |
623 continue; | 623 continue; |
624 bool removedMarkers = false; | 624 bool removedMarkers = false; |
625 for (size_t j = list->size(); j > 0; --j) { | 625 for (size_t j = list->size(); j > 0; --j) { |
626 if (shouldRemoveMarker(*list->at(j - 1), | 626 if (shouldRemoveMarker(*list->at(j - 1), |
627 static_cast<const Text&>(node))) { | 627 static_cast<const Text&>(node))) { |
628 list->remove(j - 1); | 628 list->erase(j - 1); |
629 removedMarkers = true; | 629 removedMarkers = true; |
630 } | 630 } |
631 } | 631 } |
632 if (removedMarkers && | 632 if (removedMarkers && |
633 markerListIndex == DocumentMarker::TextMatchMarkerIndex) | 633 markerListIndex == DocumentMarker::TextMatchMarkerIndex) |
634 invalidatePaintForTickmarks(node); | 634 invalidatePaintForTickmarks(node); |
635 } | 635 } |
636 } | 636 } |
637 } | 637 } |
638 | 638 |
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
883 } | 883 } |
884 | 884 |
885 } // namespace blink | 885 } // namespace blink |
886 | 886 |
887 #ifndef NDEBUG | 887 #ifndef NDEBUG |
888 void showDocumentMarkers(const blink::DocumentMarkerController* controller) { | 888 void showDocumentMarkers(const blink::DocumentMarkerController* controller) { |
889 if (controller) | 889 if (controller) |
890 controller->showMarkers(); | 890 controller->showMarkers(); |
891 } | 891 } |
892 #endif | 892 #endif |
OLD | NEW |