Index: Source/core/dom/DocumentMarkerController.cpp |
diff --git a/Source/core/dom/DocumentMarkerController.cpp b/Source/core/dom/DocumentMarkerController.cpp |
index e83382b870c99372a289dd43f80c007ff25e77b6..d000e469e2d34f623ec6c54ed2f3a571140b599c 100644 |
--- a/Source/core/dom/DocumentMarkerController.cpp |
+++ b/Source/core/dom/DocumentMarkerController.cpp |
@@ -71,9 +71,7 @@ DocumentMarkerController::DocumentMarkerController() |
{ |
} |
-DocumentMarkerController::~DocumentMarkerController() |
-{ |
-} |
+DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(DocumentMarkerController); |
void DocumentMarkerController::clear() |
{ |
@@ -123,7 +121,7 @@ void DocumentMarkerController::addTextMatchMarker(const Range* range, bool activ |
// the whole purpose of tickmarks on the scrollbar is to show where |
// matches off-screen are (that haven't been painted yet). |
Node* node = textPiece->startContainer(); |
- Vector<DocumentMarker*> markers = markersFor(node); |
+ WillBeHeapVector<DocumentMarker*> markers = markersFor(node); |
toRenderedDocumentMarker(markers[markers.size() - 1])->setRenderedRect(range->boundingBox()); |
} |
} |
@@ -189,18 +187,18 @@ void DocumentMarkerController::addMarker(Node* node, const DocumentMarker& newMa |
m_possiblyExistingMarkerTypes.add(newMarker.type()); |
- OwnPtr<MarkerLists>& markers = m_markers.add(node, nullptr).storedValue->value; |
+ OwnPtrWillBeMember<MarkerLists>& markers = m_markers.add(node, nullptr).storedValue->value; |
if (!markers) { |
- markers = adoptPtr(new MarkerLists); |
+ markers = adoptPtrWillBeNoop(new MarkerLists); |
markers->grow(DocumentMarker::MarkerTypeIndexesCount); |
} |
DocumentMarker::MarkerTypeIndex markerListIndex = MarkerTypeToMarkerIndex(newMarker.type()); |
if (!markers->at(markerListIndex)) { |
- markers->insert(markerListIndex, adoptPtr(new MarkerList)); |
+ markers->insert(markerListIndex, adoptPtrWillBeNoop(new MarkerList)); |
} |
- OwnPtr<MarkerList>& list = markers->at(markerListIndex); |
+ OwnPtrWillBeMember<MarkerList>& list = markers->at(markerListIndex); |
if (list->isEmpty() || list->last().endOffset() < newMarker.startOffset()) { |
list->append(RenderedDocumentMarker(newMarker)); |
} else { |
@@ -249,7 +247,7 @@ void DocumentMarkerController::copyMarkers(Node* srcNode, unsigned startOffset, |
bool docDirty = false; |
for (size_t markerListIndex = 0; markerListIndex < DocumentMarker::MarkerTypeIndexesCount; ++markerListIndex) { |
- OwnPtr<MarkerList>& list = (*markers)[markerListIndex]; |
+ OwnPtrWillBeMember<MarkerList>& list = (*markers)[markerListIndex]; |
if (!list) |
continue; |
@@ -295,7 +293,7 @@ void DocumentMarkerController::removeMarkers(Node* node, unsigned startOffset, i |
bool docDirty = false; |
size_t emptyListsCount = 0; |
for (size_t markerListIndex = 0; markerListIndex < DocumentMarker::MarkerTypeIndexesCount; ++markerListIndex) { |
- OwnPtr<MarkerList>& list = (*markers)[markerListIndex]; |
+ OwnPtrWillBeMember<MarkerList>& list = (*markers)[markerListIndex]; |
if (!list || list->isEmpty()) { |
if (list.get() && list->isEmpty()) |
list.clear(); |
@@ -371,7 +369,7 @@ DocumentMarker* DocumentMarkerController::markerContainingPoint(const LayoutPoin |
for (MarkerMap::iterator nodeIterator = m_markers.begin(); nodeIterator != end; ++nodeIterator) { |
// inner loop; process each marker in this node |
MarkerLists* markers = nodeIterator->value.get(); |
- OwnPtr<MarkerList>& list = (*markers)[MarkerTypeToMarkerIndex(markerType)]; |
+ OwnPtrWillBeMember<MarkerList>& list = (*markers)[MarkerTypeToMarkerIndex(markerType)]; |
unsigned markerCount = list.get() ? list->size() : 0; |
for (unsigned markerIndex = 0; markerIndex < markerCount; ++markerIndex) { |
RenderedDocumentMarker& marker = list->at(markerIndex); |
@@ -384,16 +382,16 @@ DocumentMarker* DocumentMarkerController::markerContainingPoint(const LayoutPoin |
return 0; |
} |
-Vector<DocumentMarker*> DocumentMarkerController::markersFor(Node* node, DocumentMarker::MarkerTypes markerTypes) |
+WillBeHeapVector<DocumentMarker*> DocumentMarkerController::markersFor(Node* node, DocumentMarker::MarkerTypes markerTypes) |
{ |
- Vector<DocumentMarker*> result; |
+ WillBeHeapVector<DocumentMarker*> result; |
MarkerLists* markers = m_markers.get(node); |
if (!markers) |
return result; |
for (size_t markerListIndex = 0; markerListIndex < DocumentMarker::MarkerTypeIndexesCount; ++markerListIndex) { |
- OwnPtr<MarkerList>& list = (*markers)[markerListIndex]; |
+ OwnPtrWillBeMember<MarkerList>& list = (*markers)[markerListIndex]; |
if (!list || list->isEmpty() || !markerTypes.contains(list->begin()->type())) |
continue; |
@@ -405,13 +403,13 @@ Vector<DocumentMarker*> DocumentMarkerController::markersFor(Node* node, Documen |
return result; |
} |
-Vector<DocumentMarker*> DocumentMarkerController::markers() |
+WillBeHeapVector<DocumentMarker*> DocumentMarkerController::markers() |
{ |
- Vector<DocumentMarker*> result; |
+ WillBeHeapVector<DocumentMarker*> result; |
for (MarkerMap::iterator i = m_markers.begin(); i != m_markers.end(); ++i) { |
MarkerLists* markers = i->value.get(); |
for (size_t markerListIndex = 0; markerListIndex < DocumentMarker::MarkerTypeIndexesCount; ++markerListIndex) { |
- OwnPtr<MarkerList>& list = (*markers)[markerListIndex]; |
+ OwnPtrWillBeMember<MarkerList>& list = (*markers)[markerListIndex]; |
for (size_t j = 0; list.get() && j < list->size(); ++j) |
result.append(&(list->at(j))); |
} |
@@ -420,12 +418,12 @@ Vector<DocumentMarker*> DocumentMarkerController::markers() |
return result; |
} |
-Vector<DocumentMarker*> DocumentMarkerController::markersInRange(Range* range, DocumentMarker::MarkerTypes markerTypes) |
+WillBeHeapVector<DocumentMarker*> DocumentMarkerController::markersInRange(Range* range, DocumentMarker::MarkerTypes markerTypes) |
{ |
if (!possiblyHasMarkers(markerTypes)) |
- return Vector<DocumentMarker*>(); |
+ return WillBeHeapVector<DocumentMarker*>(); |
- Vector<DocumentMarker*> foundMarkers; |
+ WillBeHeapVector<DocumentMarker*> foundMarkers; |
Node* startContainer = range->startContainer(); |
ASSERT(startContainer); |
@@ -434,9 +432,9 @@ Vector<DocumentMarker*> DocumentMarkerController::markersInRange(Range* range, D |
Node* pastLastNode = range->pastLastNode(); |
for (Node* node = range->firstNode(); node != pastLastNode; node = NodeTraversal::next(*node)) { |
- Vector<DocumentMarker*> markers = markersFor(node); |
- Vector<DocumentMarker*>::const_iterator end = markers.end(); |
- for (Vector<DocumentMarker*>::const_iterator it = markers.begin(); it != end; ++it) { |
+ WillBeHeapVector<DocumentMarker*> markers = markersFor(node); |
+ WillBeHeapVector<DocumentMarker*>::const_iterator end = markers.end(); |
+ for (WillBeHeapVector<DocumentMarker*>::const_iterator it = markers.begin(); it != end; ++it) { |
DocumentMarker* marker = *it; |
if (!markerTypes.contains(marker->type())) |
continue; |
@@ -464,7 +462,7 @@ Vector<IntRect> DocumentMarkerController::renderedRectsForMarkers(DocumentMarker |
// inner loop; process each marker in this node |
MarkerLists* markers = nodeIterator->value.get(); |
for (size_t markerListIndex = 0; markerListIndex < DocumentMarker::MarkerTypeIndexesCount; ++markerListIndex) { |
- OwnPtr<MarkerList>& list = (*markers)[markerListIndex]; |
+ OwnPtrWillBeMember<MarkerList>& list = (*markers)[markerListIndex]; |
if (!list || list->isEmpty() || list->begin()->type() != markerType) |
continue; |
for (unsigned markerIndex = 0; markerIndex < list->size(); ++markerIndex) { |
@@ -528,7 +526,7 @@ void DocumentMarkerController::removeMarkersFromList(MarkerMap::iterator iterato |
MarkerLists* markers = iterator->value.get(); |
for (size_t markerListIndex = 0; markerListIndex < DocumentMarker::MarkerTypeIndexesCount; ++markerListIndex) { |
- OwnPtr<MarkerList>& list = (*markers)[markerListIndex]; |
+ OwnPtrWillBeMember<MarkerList>& list = (*markers)[markerListIndex]; |
if (!list || list->isEmpty()) { |
if (list.get() && list->isEmpty()) |
list.clear(); |
@@ -572,7 +570,7 @@ void DocumentMarkerController::repaintMarkers(DocumentMarker::MarkerTypes marker |
// inner loop: process each marker in the current node |
MarkerLists* markers = i->value.get(); |
for (size_t markerListIndex = 0; markerListIndex < DocumentMarker::MarkerTypeIndexesCount; ++markerListIndex) { |
- OwnPtr<MarkerList>& list = (*markers)[markerListIndex]; |
+ OwnPtrWillBeMember<MarkerList>& list = (*markers)[markerListIndex]; |
if (!list || list->isEmpty() || !markerTypes.contains(list->begin()->type())) |
continue; |
@@ -594,7 +592,7 @@ void DocumentMarkerController::invalidateRenderedRectsForMarkersInRect(const Lay |
// inner loop: process each rect in the current node |
MarkerLists* markers = i->value.get(); |
for (size_t markerListIndex = 0; markerListIndex < DocumentMarker::MarkerTypeIndexesCount; ++markerListIndex) { |
- OwnPtr<MarkerList>& list = (*markers)[markerListIndex]; |
+ OwnPtrWillBeMember<MarkerList>& list = (*markers)[markerListIndex]; |
for (size_t markerIndex = 0; list.get() && markerIndex < list->size(); ++markerIndex) |
list->at(markerIndex).invalidate(r); |
} |
@@ -613,7 +611,7 @@ void DocumentMarkerController::shiftMarkers(Node* node, unsigned startOffset, in |
bool docDirty = false; |
for (size_t markerListIndex = 0; markerListIndex < DocumentMarker::MarkerTypeIndexesCount; ++markerListIndex) { |
- OwnPtr<MarkerList>& list = (*markers)[markerListIndex]; |
+ OwnPtrWillBeMember<MarkerList>& list = (*markers)[markerListIndex]; |
if (!list) |
continue; |
MarkerList::iterator startPos = std::lower_bound(list->begin(), list->end(), startOffset, startsAfter); |
@@ -657,7 +655,7 @@ void DocumentMarkerController::setMarkersActive(Node* node, unsigned startOffset |
return; |
bool docDirty = false; |
- OwnPtr<MarkerList>& list = (*markers)[MarkerTypeToMarkerIndex(DocumentMarker::TextMatch)]; |
+ OwnPtrWillBeMember<MarkerList>& list = (*markers)[MarkerTypeToMarkerIndex(DocumentMarker::TextMatch)]; |
if (!list) |
return; |
MarkerList::iterator startPos = std::upper_bound(list->begin(), list->end(), startOffset, endsBefore); |
@@ -689,9 +687,9 @@ bool DocumentMarkerController::hasMarkers(Range* range, DocumentMarker::MarkerTy |
Node* pastLastNode = range->pastLastNode(); |
for (Node* node = range->firstNode(); node != pastLastNode; node = NodeTraversal::next(*node)) { |
- Vector<DocumentMarker*> markers = markersFor(node); |
- Vector<DocumentMarker*>::const_iterator end = markers.end(); |
- for (Vector<DocumentMarker*>::const_iterator it = markers.begin(); it != end; ++it) { |
+ WillBeHeapVector<DocumentMarker*> markers = markersFor(node); |
+ WillBeHeapVector<DocumentMarker*>::const_iterator end = markers.end(); |
+ for (WillBeHeapVector<DocumentMarker*>::const_iterator it = markers.begin(); it != end; ++it) { |
DocumentMarker* marker = *it; |
if (!markerTypes.contains(marker->type())) |
continue; |
@@ -715,7 +713,7 @@ void DocumentMarkerController::showMarkers() const |
fprintf(stderr, "%p", node); |
MarkerLists* markers = m_markers.get(node); |
for (size_t markerListIndex = 0; markerListIndex < DocumentMarker::MarkerTypeIndexesCount; ++markerListIndex) { |
- OwnPtr<MarkerList>& list = (*markers)[markerListIndex]; |
+ OwnPtrWillBeMember<MarkerList>& list = (*markers)[markerListIndex]; |
for (unsigned markerIndex = 0; list.get() && markerIndex < list->size(); ++markerIndex) { |
const DocumentMarker& marker = list->at(markerIndex); |
fprintf(stderr, " %d:[%d:%d](%d)", marker.type(), marker.startOffset(), marker.endOffset(), marker.activeMatch()); |