| 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
reserved. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights
reserved. |
| 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) | 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) |
| 8 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 8 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
| 9 * | 9 * |
| 10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 { | 62 { |
| 63 switch (type) { | 63 switch (type) { |
| 64 case DocumentMarker::Spelling: | 64 case DocumentMarker::Spelling: |
| 65 return DocumentMarker::SpellingMarkerIndex; | 65 return DocumentMarker::SpellingMarkerIndex; |
| 66 case DocumentMarker::Grammar: | 66 case DocumentMarker::Grammar: |
| 67 return DocumentMarker::GramarMarkerIndex; | 67 return DocumentMarker::GramarMarkerIndex; |
| 68 case DocumentMarker::TextMatch: | 68 case DocumentMarker::TextMatch: |
| 69 return DocumentMarker::TextMatchMarkerIndex; | 69 return DocumentMarker::TextMatchMarkerIndex; |
| 70 case DocumentMarker::InvisibleSpellcheck: | 70 case DocumentMarker::InvisibleSpellcheck: |
| 71 return DocumentMarker::InvisibleSpellcheckMarkerIndex; | 71 return DocumentMarker::InvisibleSpellcheckMarkerIndex; |
| 72 case DocumentMarker::Composition: |
| 73 return DocumentMarker::CompositionMarkerIndex; |
| 72 } | 74 } |
| 73 | 75 |
| 74 ASSERT_NOT_REACHED(); | 76 ASSERT_NOT_REACHED(); |
| 75 return DocumentMarker::SpellingMarkerIndex; | 77 return DocumentMarker::SpellingMarkerIndex; |
| 76 } | 78 } |
| 77 | 79 |
| 78 } // namespace | 80 } // namespace |
| 79 | 81 |
| 80 inline bool DocumentMarkerController::possiblyHasMarkers(DocumentMarker::MarkerT
ypes types) | 82 inline bool DocumentMarkerController::possiblyHasMarkers(DocumentMarker::MarkerT
ypes types) |
| 81 { | 83 { |
| (...skipping 22 matching lines...) Expand all Loading... |
| 104 } | 106 } |
| 105 | 107 |
| 106 void DocumentMarkerController::addTextMatchMarker(const Range* range, bool activ
eMatch) | 108 void DocumentMarkerController::addTextMatchMarker(const Range* range, bool activ
eMatch) |
| 107 { | 109 { |
| 108 // Use a TextIterator to visit the potentially multiple nodes the range cove
rs. | 110 // Use a TextIterator to visit the potentially multiple nodes the range cove
rs. |
| 109 for (TextIterator markedText(range->startPosition(), range->endPosition());
!markedText.atEnd(); markedText.advance()) | 111 for (TextIterator markedText(range->startPosition(), range->endPosition());
!markedText.atEnd(); markedText.advance()) |
| 110 addMarker(markedText.currentContainer(), DocumentMarker(markedText.start
OffsetInCurrentContainer(), markedText.endOffsetInCurrentContainer(), activeMatc
h)); | 112 addMarker(markedText.currentContainer(), DocumentMarker(markedText.start
OffsetInCurrentContainer(), markedText.endOffsetInCurrentContainer(), activeMatc
h)); |
| 111 // Don't invalidate tickmarks here. TextFinder invalidates tickmarks using a
throttling algorithm. crbug.com/6819. | 113 // Don't invalidate tickmarks here. TextFinder invalidates tickmarks using a
throttling algorithm. crbug.com/6819. |
| 112 } | 114 } |
| 113 | 115 |
| 116 void DocumentMarkerController::addCompositionMarker(const Position& start, const
Position& end, Color underlineColor, bool thick, Color backgroundColor) |
| 117 { |
| 118 for (TextIterator markedText(start, end); !markedText.atEnd(); markedText.ad
vance()) |
| 119 addMarker(markedText.currentContainer(), DocumentMarker(markedText.start
OffsetInCurrentContainer(), markedText.endOffsetInCurrentContainer(), underlineC
olor, thick, backgroundColor)); |
| 120 } |
| 121 |
| 114 void DocumentMarkerController::prepareForDestruction() | 122 void DocumentMarkerController::prepareForDestruction() |
| 115 { | 123 { |
| 116 clear(); | 124 clear(); |
| 117 } | 125 } |
| 118 | 126 |
| 119 void DocumentMarkerController::removeMarkers(TextIterator& markedText, DocumentM
arker::MarkerTypes markerTypes, RemovePartiallyOverlappingMarkerOrNot shouldRemo
vePartiallyOverlappingMarker) | 127 void DocumentMarkerController::removeMarkers(TextIterator& markedText, DocumentM
arker::MarkerTypes markerTypes, RemovePartiallyOverlappingMarkerOrNot shouldRemo
vePartiallyOverlappingMarker) |
| 120 { | 128 { |
| 121 for (; !markedText.atEnd(); markedText.advance()) { | 129 for (; !markedText.atEnd(); markedText.advance()) { |
| 122 if (!possiblyHasMarkers(markerTypes)) | 130 if (!possiblyHasMarkers(markerTypes)) |
| 123 return; | 131 return; |
| (...skipping 610 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 734 | 742 |
| 735 } // namespace blink | 743 } // namespace blink |
| 736 | 744 |
| 737 #ifndef NDEBUG | 745 #ifndef NDEBUG |
| 738 void showDocumentMarkers(const blink::DocumentMarkerController* controller) | 746 void showDocumentMarkers(const blink::DocumentMarkerController* controller) |
| 739 { | 747 { |
| 740 if (controller) | 748 if (controller) |
| 741 controller->showMarkers(); | 749 controller->showMarkers(); |
| 742 } | 750 } |
| 743 #endif | 751 #endif |
| OLD | NEW |