OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
92 : m_workerGlobalScope(workerGlobalScope) | 92 : m_workerGlobalScope(workerGlobalScope) |
93 , m_stateClient(adoptPtr(new WorkerStateClient(workerGlobalScope))) | 93 , m_stateClient(adoptPtr(new WorkerStateClient(workerGlobalScope))) |
94 , m_state(adoptPtr(new InspectorCompositeState(m_stateClient.get()))) | 94 , m_state(adoptPtr(new InspectorCompositeState(m_stateClient.get()))) |
95 , m_instrumentingAgents(InstrumentingAgents::create()) | 95 , m_instrumentingAgents(InstrumentingAgents::create()) |
96 , m_injectedScriptManager(InjectedScriptManager::createForWorker()) | 96 , m_injectedScriptManager(InjectedScriptManager::createForWorker()) |
97 , m_debugServer(adoptPtr(new WorkerScriptDebugServer(workerGlobalScope))) | 97 , m_debugServer(adoptPtr(new WorkerScriptDebugServer(workerGlobalScope))) |
98 , m_agents(m_instrumentingAgents.get(), m_state.get()) | 98 , m_agents(m_instrumentingAgents.get(), m_state.get()) |
99 { | 99 { |
100 m_agents.append(WorkerRuntimeAgent::create(m_injectedScriptManager.get(), m_
debugServer.get(), workerGlobalScope)); | 100 m_agents.append(WorkerRuntimeAgent::create(m_injectedScriptManager.get(), m_
debugServer.get(), workerGlobalScope)); |
101 | 101 |
102 OwnPtr<InspectorTimelineAgent> timelineAgent = InspectorTimelineAgent::creat
e(0, 0, 0, InspectorTimelineAgent::WorkerInspector, 0); | 102 OwnPtrWillBeRawPtr<InspectorTimelineAgent> timelineAgent = InspectorTimeline
Agent::create(0, 0, 0, InspectorTimelineAgent::WorkerInspector, 0); |
103 m_agents.append(WorkerDebuggerAgent::create(m_debugServer.get(), workerGloba
lScope, m_injectedScriptManager.get())); | 103 OwnPtrWillBeRawPtr<WorkerDebuggerAgent> workerDebuggerAgent = WorkerDebugger
Agent::create(m_debugServer.get(), workerGlobalScope, m_injectedScriptManager.ge
t()); |
| 104 m_workerDebuggerAgent = workerDebuggerAgent.get(); |
| 105 m_agents.append(workerDebuggerAgent.release()); |
104 | 106 |
105 m_agents.append(InspectorProfilerAgent::create(m_injectedScriptManager.get()
, 0)); | 107 m_agents.append(InspectorProfilerAgent::create(m_injectedScriptManager.get()
, 0)); |
106 m_agents.append(InspectorHeapProfilerAgent::create(m_injectedScriptManager.g
et())); | 108 m_agents.append(InspectorHeapProfilerAgent::create(m_injectedScriptManager.g
et())); |
107 m_agents.append(WorkerConsoleAgent::create(timelineAgent.get(), m_injectedSc
riptManager.get())); | 109 m_agents.append(WorkerConsoleAgent::create(timelineAgent.get(), m_injectedSc
riptManager.get())); |
108 m_agents.append(timelineAgent.release()); | 110 m_agents.append(timelineAgent.release()); |
109 | 111 |
110 m_injectedScriptManager->injectedScriptHost()->init(m_instrumentingAgents.ge
t(), m_debugServer.get()); | 112 m_injectedScriptManager->injectedScriptHost()->init(m_instrumentingAgents.ge
t(), m_debugServer.get()); |
111 } | 113 } |
112 | 114 |
113 WorkerInspectorController::~WorkerInspectorController() | 115 WorkerInspectorController::~WorkerInspectorController() |
114 { | 116 { |
115 m_instrumentingAgents->reset(); | |
116 disconnectFrontend(); | |
117 } | 117 } |
118 | 118 |
119 void WorkerInspectorController::connectFrontend() | 119 void WorkerInspectorController::connectFrontend() |
120 { | 120 { |
121 ASSERT(!m_frontend); | 121 ASSERT(!m_frontend); |
122 m_state->unmute(); | 122 m_state->unmute(); |
123 m_frontendChannel = adoptPtr(new PageInspectorProxy(m_workerGlobalScope)); | 123 m_frontendChannel = adoptPtr(new PageInspectorProxy(m_workerGlobalScope)); |
124 m_frontend = adoptPtr(new InspectorFrontend(m_frontendChannel.get())); | 124 m_frontend = adoptPtr(new InspectorFrontend(m_frontendChannel.get())); |
125 m_backendDispatcher = InspectorBackendDispatcher::create(m_frontendChannel.g
et()); | 125 m_backendDispatcher = InspectorBackendDispatcher::create(m_frontendChannel.g
et()); |
126 m_agents.registerInDispatcher(m_backendDispatcher.get()); | 126 m_agents.registerInDispatcher(m_backendDispatcher.get()); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 } | 159 } |
160 | 160 |
161 void WorkerInspectorController::resume() | 161 void WorkerInspectorController::resume() |
162 { | 162 { |
163 if (WorkerRuntimeAgent* runtimeAgent = m_instrumentingAgents->workerRuntimeA
gent()) { | 163 if (WorkerRuntimeAgent* runtimeAgent = m_instrumentingAgents->workerRuntimeA
gent()) { |
164 ErrorString unused; | 164 ErrorString unused; |
165 runtimeAgent->run(&unused); | 165 runtimeAgent->run(&unused); |
166 } | 166 } |
167 } | 167 } |
168 | 168 |
| 169 void WorkerInspectorController::dispose() |
| 170 { |
| 171 m_workerDebuggerAgent = nullptr; |
| 172 m_instrumentingAgents->reset(); |
| 173 disconnectFrontend(); |
169 } | 174 } |
| 175 |
| 176 void WorkerInspectorController::trace(Visitor* visitor) |
| 177 { |
| 178 visitor->trace(m_workerGlobalScope); |
| 179 visitor->trace(m_instrumentingAgents); |
| 180 m_agents.trace(visitor); |
| 181 visitor->trace(m_workerDebuggerAgent); |
| 182 } |
| 183 |
| 184 } |
OLD | NEW |