Index: Source/core/inspector/InspectorHeapProfilerAgent.cpp |
diff --git a/Source/core/inspector/InspectorHeapProfilerAgent.cpp b/Source/core/inspector/InspectorHeapProfilerAgent.cpp |
index b41c3bd10367192bac212c1c52b31db880200120..a2425ffac998eb80edb666cdfe7e70e3ed32b3de 100644 |
--- a/Source/core/inspector/InspectorHeapProfilerAgent.cpp |
+++ b/Source/core/inspector/InspectorHeapProfilerAgent.cpp |
@@ -48,15 +48,16 @@ static const char heapObjectsTrackingEnabled[] = "heapObjectsTrackingEnabled"; |
static const char allocationTrackingEnabled[] = "allocationTrackingEnabled"; |
} |
-class InspectorHeapProfilerAgent::HeapStatsUpdateTask { |
+class InspectorHeapProfilerAgent::HeapStatsUpdateTask : public NoBaseWillBeGarbageCollectedFinalized<InspectorHeapProfilerAgent::HeapStatsUpdateTask> { |
public: |
HeapStatsUpdateTask(InspectorHeapProfilerAgent*); |
void startTimer(); |
void resetTimer() { m_timer.stop(); } |
void onTimer(Timer<HeapStatsUpdateTask>*); |
+ void trace(Visitor*); |
private: |
- InspectorHeapProfilerAgent* m_heapProfilerAgent; |
+ RawPtrWillBeMember<InspectorHeapProfilerAgent> m_heapProfilerAgent; |
Timer<HeapStatsUpdateTask> m_timer; |
}; |
@@ -126,6 +127,11 @@ void InspectorHeapProfilerAgent::HeapStatsUpdateTask::startTimer() |
m_timer.startRepeating(0.05, FROM_HERE); |
} |
+void InspectorHeapProfilerAgent::HeapStatsUpdateTask::trace(Visitor* visitor) |
+{ |
+ visitor->trace(m_heapProfilerAgent); |
+} |
+ |
class InspectorHeapProfilerAgent::HeapStatsStream FINAL : public ScriptProfiler::OutputStream { |
public: |
HeapStatsStream(InspectorHeapProfilerAgent* heapProfilerAgent) |
@@ -186,7 +192,7 @@ void InspectorHeapProfilerAgent::startTrackingHeapObjectsInternal(bool trackAllo |
if (m_heapStatsUpdateTask) |
return; |
ScriptProfiler::startTrackingHeapObjects(trackAllocations); |
- m_heapStatsUpdateTask = adoptPtr(new HeapStatsUpdateTask(this)); |
+ m_heapStatsUpdateTask = adoptPtrWillBeNoop(new HeapStatsUpdateTask(this)); |
m_heapStatsUpdateTask->startTimer(); |
} |
@@ -312,5 +318,11 @@ void InspectorHeapProfilerAgent::getHeapObjectId(ErrorString* errorString, const |
*heapSnapshotObjectId = String::number(id); |
} |
+void InspectorHeapProfilerAgent::trace(Visitor* visitor) |
+{ |
+ visitor->trace(m_heapStatsUpdateTask); |
+ InspectorBaseAgent::trace(visitor); |
+} |
+ |
} // namespace WebCore |