Chromium Code Reviews| 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 |