| Index: Source/core/inspector/WorkerInspectorController.cpp
|
| diff --git a/Source/core/inspector/WorkerInspectorController.cpp b/Source/core/inspector/WorkerInspectorController.cpp
|
| index 1a62be873083d5f0b201189fa5b99134bafbc20f..c520bd6a99f1cd2b54cdde6437502b9f0c54e3e0 100644
|
| --- a/Source/core/inspector/WorkerInspectorController.cpp
|
| +++ b/Source/core/inspector/WorkerInspectorController.cpp
|
| @@ -97,23 +97,23 @@ WorkerInspectorController::WorkerInspectorController(WorkerGlobalScope* workerGl
|
| , m_debugServer(adoptPtr(new WorkerScriptDebugServer(workerGlobalScope)))
|
| , m_agents(m_instrumentingAgents.get(), m_state.get())
|
| {
|
| - m_agents.append(WorkerRuntimeAgent::create(m_injectedScriptManager.get(), m_debugServer.get(), workerGlobalScope));
|
| + 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();
|
| + agents().append(workerDebuggerAgent.release());
|
|
|
| - m_agents.append(InspectorProfilerAgent::create(m_injectedScriptManager.get(), 0));
|
| - m_agents.append(InspectorHeapProfilerAgent::create(m_injectedScriptManager.get()));
|
| - m_agents.append(WorkerConsoleAgent::create(timelineAgent.get(), m_injectedScriptManager.get()));
|
| - m_agents.append(timelineAgent.release());
|
| + agents().append(InspectorProfilerAgent::create(m_injectedScriptManager.get(), 0));
|
| + agents().append(InspectorHeapProfilerAgent::create(m_injectedScriptManager.get()));
|
| + agents().append(WorkerConsoleAgent::create(timelineAgent.get(), m_injectedScriptManager.get()));
|
| + agents().append(timelineAgent.release());
|
|
|
| m_injectedScriptManager->injectedScriptHost()->init(m_instrumentingAgents.get(), m_debugServer.get());
|
| }
|
|
|
| WorkerInspectorController::~WorkerInspectorController()
|
| {
|
| - m_instrumentingAgents->reset();
|
| - disconnectFrontend();
|
| }
|
|
|
| void WorkerInspectorController::connectFrontend()
|
| @@ -123,8 +123,8 @@ void WorkerInspectorController::connectFrontend()
|
| m_frontendChannel = adoptPtr(new PageInspectorProxy(m_workerGlobalScope));
|
| m_frontend = adoptPtr(new InspectorFrontend(m_frontendChannel.get()));
|
| m_backendDispatcher = InspectorBackendDispatcher::create(m_frontendChannel.get());
|
| - m_agents.registerInDispatcher(m_backendDispatcher.get());
|
| - m_agents.setFrontend(m_frontend.get());
|
| + agents().registerInDispatcher(m_backendDispatcher.get());
|
| + agents().setFrontend(m_frontend.get());
|
| InspectorInstrumentation::frontendCreated();
|
| }
|
|
|
| @@ -137,7 +137,7 @@ void WorkerInspectorController::disconnectFrontend()
|
| // Destroying agents would change the state, but we don't want that.
|
| // Pre-disconnect state will be used to restore inspector agents.
|
| m_state->mute();
|
| - m_agents.clearFrontend();
|
| + agents().clearFrontend();
|
| m_frontend.clear();
|
| InspectorInstrumentation::frontendDeleted();
|
| m_frontendChannel.clear();
|
| @@ -149,7 +149,7 @@ void WorkerInspectorController::restoreInspectorStateFromCookie(const String& in
|
| connectFrontend();
|
| m_state->loadFromCookie(inspectorCookie);
|
|
|
| - m_agents.restore();
|
| + agents().restore();
|
| }
|
|
|
| void WorkerInspectorController::dispatchMessageFromFrontend(const String& message)
|
| @@ -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);
|
| +}
|
| +
|
| }
|
|
|