Index: Source/core/dom/DocumentMarkerController.h |
diff --git a/Source/core/dom/DocumentMarkerController.h b/Source/core/dom/DocumentMarkerController.h |
index 34fe66c018e786c445b90fcbb74e9dd1dc52053e..83b1178de3a9400b447feaac2ea2be48934e7498 100644 |
--- a/Source/core/dom/DocumentMarkerController.h |
+++ b/Source/core/dom/DocumentMarkerController.h |
@@ -42,12 +42,11 @@ class Node; |
class Range; |
class RenderedDocumentMarker; |
-class DocumentMarkerController FINAL : public NoBaseWillBeGarbageCollectedFinalized<DocumentMarkerController> { |
+class DocumentMarkerController FINAL : public NoBaseWillBeGarbageCollected<DocumentMarkerController> { |
WTF_MAKE_NONCOPYABLE(DocumentMarkerController); WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED; |
public: |
DocumentMarkerController(); |
- ~DocumentMarkerController(); |
haraken
2014/05/19 07:13:20
You can use DEFINE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_B
Erik Corry
2014/05/19 07:52:11
Not writing anything at all seems better though.
Erik Corry
2014/05/20 08:40:37
I put this back after our offline discussion this
|
void clear(); |
void addMarker(Range*, DocumentMarker::MarkerType); |
@@ -75,9 +74,9 @@ public: |
void setMarkersActive(Node*, unsigned startOffset, unsigned endOffset, bool); |
DocumentMarker* markerContainingPoint(const LayoutPoint&, DocumentMarker::MarkerType); |
- Vector<DocumentMarker*> markersFor(Node*, DocumentMarker::MarkerTypes = DocumentMarker::AllMarkers()); |
- Vector<DocumentMarker*> markersInRange(Range*, DocumentMarker::MarkerTypes); |
- Vector<DocumentMarker*> markers(); |
+ WillBeHeapVector<DocumentMarker*> markersFor(Node*, DocumentMarker::MarkerTypes = DocumentMarker::AllMarkers()); |
haraken
2014/05/19 07:13:20
Let's use WillBeHeapVector<Member<DocumentMarker>>
Erik Corry
2014/05/19 07:52:11
DocumentMarker is not on the heap.
|
+ WillBeHeapVector<DocumentMarker*> markersInRange(Range*, DocumentMarker::MarkerTypes); |
+ WillBeHeapVector<DocumentMarker*> markers(); |
Vector<IntRect> renderedRectsForMarkers(DocumentMarker::MarkerType); |
void trace(Visitor*); |
@@ -89,9 +88,9 @@ public: |
private: |
void addMarker(Node*, const DocumentMarker&); |
- typedef Vector<RenderedDocumentMarker> MarkerList; |
- typedef Vector<OwnPtr<MarkerList>, DocumentMarker::MarkerTypeIndexesCount> MarkerLists; |
- typedef WillBeHeapHashMap<RawPtrWillBeWeakMember<const Node>, OwnPtr<MarkerLists> > MarkerMap; |
+ typedef WillBeHeapVector<RenderedDocumentMarker> MarkerList; |
sof
2014/05/19 07:05:24
Clarifying Q: DocumentMarker objects contain a Ref
Erik Corry
2014/05/19 07:52:11
Yes, SimpleClassVectorTraits are allowed RefPtrs a
|
+ typedef WillBeHeapVector<OwnPtrWillBeMember<MarkerList>, DocumentMarker::MarkerTypeIndexesCount> MarkerLists; |
+ typedef WillBeHeapHashMap<RawPtrWillBeWeakMember<const Node>, OwnPtrWillBeMember<MarkerLists> > MarkerMap; |
void mergeOverlapping(MarkerList*, DocumentMarker&); |
bool possiblyHasMarkers(DocumentMarker::MarkerTypes); |
void removeMarkersFromList(MarkerMap::iterator, DocumentMarker::MarkerTypes); |