| 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 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 95 | 95 |
| 96 ~WorkerInjectedScriptHostClient() override { } | 96 ~WorkerInjectedScriptHostClient() override { } |
| 97 }; | 97 }; |
| 98 | 98 |
| 99 WorkerInspectorController::WorkerInspectorController(WorkerGlobalScope* workerGl
obalScope) | 99 WorkerInspectorController::WorkerInspectorController(WorkerGlobalScope* workerGl
obalScope) |
| 100 : m_workerGlobalScope(workerGlobalScope) | 100 : m_workerGlobalScope(workerGlobalScope) |
| 101 , m_stateClient(adoptPtr(new WorkerStateClient(workerGlobalScope))) | 101 , m_stateClient(adoptPtr(new WorkerStateClient(workerGlobalScope))) |
| 102 , m_state(adoptPtrWillBeNoop(new InspectorCompositeState(m_stateClient.get()
))) | 102 , m_state(adoptPtrWillBeNoop(new InspectorCompositeState(m_stateClient.get()
))) |
| 103 , m_instrumentingAgents(InstrumentingAgents::create()) | 103 , m_instrumentingAgents(InstrumentingAgents::create()) |
| 104 , m_injectedScriptManager(InjectedScriptManager::createForWorker()) | 104 , m_injectedScriptManager(InjectedScriptManager::createForWorker()) |
| 105 , m_debugServer(WorkerScriptDebugServer::create(workerGlobalScope)) | 105 , m_debugServer(WorkerScriptDebugServer::create(this, workerGlobalScope)) |
| 106 , m_agents(m_instrumentingAgents.get(), m_state.get()) | 106 , m_agents(m_instrumentingAgents.get(), m_state.get()) |
| 107 , m_paused(false) | 107 , m_paused(false) |
| 108 { | 108 { |
| 109 OwnPtrWillBeRawPtr<WorkerRuntimeAgent> workerRuntimeAgent = WorkerRuntimeAge
nt::create(m_injectedScriptManager.get(), m_debugServer->scriptDebugServer(), wo
rkerGlobalScope, this); | 109 OwnPtrWillBeRawPtr<WorkerRuntimeAgent> workerRuntimeAgent = WorkerRuntimeAge
nt::create(m_injectedScriptManager.get(), m_debugServer->scriptDebugServer(), wo
rkerGlobalScope, this); |
| 110 m_workerRuntimeAgent = workerRuntimeAgent.get(); | 110 m_workerRuntimeAgent = workerRuntimeAgent.get(); |
| 111 m_agents.append(workerRuntimeAgent.release()); | 111 m_agents.append(workerRuntimeAgent.release()); |
| 112 | 112 |
| 113 OwnPtrWillBeRawPtr<WorkerDebuggerAgent> workerDebuggerAgent = WorkerDebugger
Agent::create(m_debugServer.get(), workerGlobalScope, m_injectedScriptManager.ge
t()); | 113 OwnPtrWillBeRawPtr<InspectorProfilerAgent> profilerAgent = InspectorProfiler
Agent::create(m_injectedScriptManager.get(), 0); |
| 114 m_profilerAgent = profilerAgent.get(); |
| 115 m_agents.append(profilerAgent.release()); |
| 116 |
| 117 OwnPtrWillBeRawPtr<WorkerDebuggerAgent> workerDebuggerAgent = WorkerDebugger
Agent::create(m_debugServer.get(), workerGlobalScope, m_injectedScriptManager.ge
t(), this); |
| 114 m_workerDebuggerAgent = workerDebuggerAgent.get(); | 118 m_workerDebuggerAgent = workerDebuggerAgent.get(); |
| 115 m_agents.append(workerDebuggerAgent.release()); | 119 m_agents.append(workerDebuggerAgent.release()); |
| 116 m_asyncCallTracker = adoptPtrWillBeNoop(new AsyncCallTracker(m_workerDebugge
rAgent, m_instrumentingAgents.get())); | 120 m_asyncCallTracker = adoptPtrWillBeNoop(new AsyncCallTracker(m_workerDebugge
rAgent, m_instrumentingAgents.get())); |
| 117 | 121 |
| 118 m_agents.append(InspectorProfilerAgent::create(m_injectedScriptManager.get()
, 0)); | |
| 119 m_agents.append(InspectorHeapProfilerAgent::create(m_injectedScriptManager.g
et())); | 122 m_agents.append(InspectorHeapProfilerAgent::create(m_injectedScriptManager.g
et())); |
| 120 | 123 |
| 121 OwnPtrWillBeRawPtr<WorkerConsoleAgent> workerConsoleAgent = WorkerConsoleAge
nt::create(m_injectedScriptManager.get(), workerGlobalScope); | 124 OwnPtrWillBeRawPtr<WorkerConsoleAgent> workerConsoleAgent = WorkerConsoleAge
nt::create(m_injectedScriptManager.get(), workerGlobalScope); |
| 122 WorkerConsoleAgent* workerConsoleAgentPtr = workerConsoleAgent.get(); | 125 WorkerConsoleAgent* workerConsoleAgentPtr = workerConsoleAgent.get(); |
| 123 m_agents.append(workerConsoleAgent.release()); | 126 m_agents.append(workerConsoleAgent.release()); |
| 124 | 127 |
| 125 m_agents.append(InspectorTimelineAgent::create()); | 128 m_agents.append(InspectorTimelineAgent::create()); |
| 126 | 129 |
| 127 m_injectedScriptManager->injectedScriptHost()->init(workerConsoleAgentPtr, m
_workerDebuggerAgent, nullptr, m_debugServer->scriptDebugServer(), adoptPtr(new
WorkerInjectedScriptHostClient())); | 130 m_injectedScriptManager->injectedScriptHost()->init(workerConsoleAgentPtr, m
_workerDebuggerAgent, nullptr, m_debugServer->scriptDebugServer(), adoptPtr(new
WorkerInjectedScriptHostClient())); |
| 128 } | 131 } |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 196 | 199 |
| 197 bool WorkerInspectorController::isRunRequired() | 200 bool WorkerInspectorController::isRunRequired() |
| 198 { | 201 { |
| 199 return m_paused; | 202 return m_paused; |
| 200 } | 203 } |
| 201 | 204 |
| 202 void WorkerInspectorController::pauseOnStart() | 205 void WorkerInspectorController::pauseOnStart() |
| 203 { | 206 { |
| 204 m_paused = true; | 207 m_paused = true; |
| 205 MessageQueueWaitResult result; | 208 MessageQueueWaitResult result; |
| 206 m_workerGlobalScope->thread()->willEnterNestedLoop(); | 209 willProcessTask(); |
| 207 do { | 210 do { |
| 208 result = m_workerGlobalScope->thread()->runDebuggerTask(); | 211 result = m_workerGlobalScope->thread()->runDebuggerTask(); |
| 209 // Keep waiting until execution is resumed. | 212 // Keep waiting until execution is resumed. |
| 210 } while (result == MessageQueueMessageReceived && m_paused); | 213 } while (result == MessageQueueMessageReceived && m_paused); |
| 211 m_workerGlobalScope->thread()->didLeaveNestedLoop(); | 214 didProcessTask(); |
| 215 } |
| 216 |
| 217 void WorkerInspectorController::willProcessTask() |
| 218 { |
| 219 m_profilerAgent->willProcessTask(); |
| 220 } |
| 221 |
| 222 void WorkerInspectorController::didProcessTask() |
| 223 { |
| 224 m_profilerAgent->didProcessTask(); |
| 212 } | 225 } |
| 213 | 226 |
| 214 DEFINE_TRACE(WorkerInspectorController) | 227 DEFINE_TRACE(WorkerInspectorController) |
| 215 { | 228 { |
| 216 visitor->trace(m_workerGlobalScope); | 229 visitor->trace(m_workerGlobalScope); |
| 217 visitor->trace(m_state); | 230 visitor->trace(m_state); |
| 218 visitor->trace(m_instrumentingAgents); | 231 visitor->trace(m_instrumentingAgents); |
| 219 visitor->trace(m_injectedScriptManager); | 232 visitor->trace(m_injectedScriptManager); |
| 220 visitor->trace(m_debugServer); | 233 visitor->trace(m_debugServer); |
| 221 visitor->trace(m_backendDispatcher); | 234 visitor->trace(m_backendDispatcher); |
| 222 visitor->trace(m_agents); | 235 visitor->trace(m_agents); |
| 236 visitor->trace(m_profilerAgent); |
| 223 visitor->trace(m_workerDebuggerAgent); | 237 visitor->trace(m_workerDebuggerAgent); |
| 224 visitor->trace(m_asyncCallTracker); | 238 visitor->trace(m_asyncCallTracker); |
| 225 visitor->trace(m_workerRuntimeAgent); | 239 visitor->trace(m_workerRuntimeAgent); |
| 226 } | 240 } |
| 227 | 241 |
| 228 } // namespace blink | 242 } // namespace blink |
| OLD | NEW |