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 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
197 return lhv->endOffset() < rhv->startOffset(); | 197 return lhv->endOffset() < rhv->startOffset(); |
198 } | 198 } |
199 | 199 |
200 static bool doesNotInclude(const Member<RenderedDocumentMarker>& marker, | 200 static bool doesNotInclude(const Member<RenderedDocumentMarker>& marker, |
201 size_t startOffset) { | 201 size_t startOffset) { |
202 return marker->endOffset() < startOffset; | 202 return marker->endOffset() < startOffset; |
203 } | 203 } |
204 | 204 |
205 static void updateMarkerRenderedRect(const Node& node, | 205 static void updateMarkerRenderedRect(const Node& node, |
206 RenderedDocumentMarker& marker) { | 206 RenderedDocumentMarker& marker) { |
207 DCHECK(node.isConnected()) << node; | |
yosin_UTC9
2017/04/07 04:48:10
Please move this change into another patch.
Hwanseung Lee
2017/04/07 17:55:53
Done.
| |
207 Range* range = Range::create(node.document()); | 208 Range* range = Range::create(node.document()); |
208 // The offsets of the marker may be out-dated, so check for exceptions. | 209 // The offsets of the marker may be out-dated, so check for exceptions. |
209 DummyExceptionStateForTesting exceptionState; | 210 DummyExceptionStateForTesting exceptionState; |
210 range->setStart(&const_cast<Node&>(node), marker.startOffset(), | 211 range->setStart(&const_cast<Node&>(node), marker.startOffset(), |
211 exceptionState); | 212 exceptionState); |
212 if (!exceptionState.hadException()) { | 213 if (!exceptionState.hadException()) { |
213 range->setEnd(&const_cast<Node&>(node), marker.endOffset(), | 214 range->setEnd(&const_cast<Node&>(node), marker.endOffset(), |
214 IGNORE_EXCEPTION_FOR_TESTING); | 215 IGNORE_EXCEPTION_FOR_TESTING); |
215 } | 216 } |
216 if (!exceptionState.hadException()) { | 217 if (!exceptionState.hadException()) { |
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
516 if (!possiblyHasMarkers(markerType)) | 517 if (!possiblyHasMarkers(markerType)) |
517 return result; | 518 return result; |
518 DCHECK(!(m_markers.isEmpty())); | 519 DCHECK(!(m_markers.isEmpty())); |
519 | 520 |
520 // outer loop: process each node | 521 // outer loop: process each node |
521 MarkerMap::iterator end = m_markers.end(); | 522 MarkerMap::iterator end = m_markers.end(); |
522 for (MarkerMap::iterator nodeIterator = m_markers.begin(); | 523 for (MarkerMap::iterator nodeIterator = m_markers.begin(); |
523 nodeIterator != end; ++nodeIterator) { | 524 nodeIterator != end; ++nodeIterator) { |
524 // inner loop; process each marker in this node | 525 // inner loop; process each marker in this node |
525 const Node& node = *nodeIterator->key; | 526 const Node& node = *nodeIterator->key; |
527 if (!node.isConnected()) | |
528 continue; | |
526 MarkerLists* markers = nodeIterator->value.get(); | 529 MarkerLists* markers = nodeIterator->value.get(); |
527 for (size_t markerListIndex = 0; | 530 for (size_t markerListIndex = 0; |
528 markerListIndex < DocumentMarker::MarkerTypeIndexesCount; | 531 markerListIndex < DocumentMarker::MarkerTypeIndexesCount; |
529 ++markerListIndex) { | 532 ++markerListIndex) { |
530 Member<MarkerList>& list = (*markers)[markerListIndex]; | 533 Member<MarkerList>& list = (*markers)[markerListIndex]; |
531 if (!list || list->isEmpty() || (*list->begin())->type() != markerType) | 534 if (!list || list->isEmpty() || (*list->begin())->type() != markerType) |
532 continue; | 535 continue; |
533 for (unsigned markerIndex = 0; markerIndex < list->size(); | 536 for (unsigned markerIndex = 0; markerIndex < list->size(); |
534 ++markerIndex) { | 537 ++markerIndex) { |
535 RenderedDocumentMarker* marker = list->at(markerIndex).get(); | 538 RenderedDocumentMarker* marker = list->at(markerIndex).get(); |
(...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
883 } | 886 } |
884 | 887 |
885 } // namespace blink | 888 } // namespace blink |
886 | 889 |
887 #ifndef NDEBUG | 890 #ifndef NDEBUG |
888 void showDocumentMarkers(const blink::DocumentMarkerController* controller) { | 891 void showDocumentMarkers(const blink::DocumentMarkerController* controller) { |
889 if (controller) | 892 if (controller) |
890 controller->showMarkers(); | 893 controller->showMarkers(); |
891 } | 894 } |
892 #endif | 895 #endif |
OLD | NEW |