| 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());
|
|
|