Index: Source/core/inspector/WorkerInspectorController.cpp |
diff --git a/Source/core/inspector/WorkerInspectorController.cpp b/Source/core/inspector/WorkerInspectorController.cpp |
index 1a62be873083d5f0b201189fa5b99134bafbc20f..71fd97dd3916d29c3d29999d33a63aff81d564d1 100644 |
--- a/Source/core/inspector/WorkerInspectorController.cpp |
+++ b/Source/core/inspector/WorkerInspectorController.cpp |
@@ -99,8 +99,10 @@ WorkerInspectorController::WorkerInspectorController(WorkerGlobalScope* workerGl |
{ |
m_agents.append(WorkerRuntimeAgent::create(m_injectedScriptManager.get(), m_debugServer.get(), workerGlobalScope)); |
- OwnPtr<InspectorTimelineAgent> timelineAgent = InspectorTimelineAgent::create(0, 0, 0, InspectorTimelineAgent::WorkerInspector, 0); |
- m_agents.append(WorkerDebuggerAgent::create(m_debugServer.get(), workerGlobalScope, m_injectedScriptManager.get())); |
+ OwnPtrWillBeRawPtr<InspectorTimelineAgent> timelineAgent = InspectorTimelineAgent::create(0, 0, 0, InspectorTimelineAgent::WorkerInspector, 0); |
+ OwnPtrWillBeRawPtr<WorkerDebuggerAgent> workerDebuggerAgent = WorkerDebuggerAgent::create(m_debugServer.get(), workerGlobalScope, m_injectedScriptManager.get()); |
+ m_workerDebuggerAgent = workerDebuggerAgent.get(); |
+ m_agents.append(workerDebuggerAgent.release()); |
m_agents.append(InspectorProfilerAgent::create(m_injectedScriptManager.get(), 0)); |
m_agents.append(InspectorHeapProfilerAgent::create(m_injectedScriptManager.get())); |
@@ -112,8 +114,6 @@ WorkerInspectorController::WorkerInspectorController(WorkerGlobalScope* workerGl |
WorkerInspectorController::~WorkerInspectorController() |
{ |
- m_instrumentingAgents->reset(); |
- disconnectFrontend(); |
} |
void WorkerInspectorController::connectFrontend() |
@@ -166,4 +166,19 @@ void WorkerInspectorController::resume() |
} |
} |
+void WorkerInspectorController::dispose() |
+{ |
+ m_workerDebuggerAgent = nullptr; |
+ m_instrumentingAgents->reset(); |
+ disconnectFrontend(); |
+} |
+ |
+void WorkerInspectorController::trace(Visitor* visitor) |
+{ |
+ visitor->trace(m_workerGlobalScope); |
+ visitor->trace(m_instrumentingAgents); |
+ m_agents.trace(visitor); |
+ visitor->trace(m_workerDebuggerAgent); |
+} |
+ |
} |