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 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
192 channel->proxy()->sendMessageToInspector(message->toJSONString()); | 192 channel->proxy()->sendMessageToInspector(message->toJSONString()); |
193 else | 193 else |
194 *error = "Worker is gone"; | 194 *error = "Worker is gone"; |
195 } | 195 } |
196 | 196 |
197 void InspectorWorkerAgent::setAutoconnectToWorkers(ErrorString*, bool value) | 197 void InspectorWorkerAgent::setAutoconnectToWorkers(ErrorString*, bool value) |
198 { | 198 { |
199 m_state->setBoolean(WorkerAgentState::autoconnectToWorkers, value); | 199 m_state->setBoolean(WorkerAgentState::autoconnectToWorkers, value); |
200 } | 200 } |
201 | 201 |
| 202 void InspectorWorkerAgent::setTracingSessionId(const String& sessionId) |
| 203 { |
| 204 m_tracingSessionId = sessionId; |
| 205 if (sessionId.isEmpty()) |
| 206 return; |
| 207 for (DedicatedWorkers::iterator it = m_dedicatedWorkers.begin(); it != m_ded
icatedWorkers.end(); ++it) |
| 208 it->key->writeTimelineStartedEvent(sessionId); |
| 209 } |
| 210 |
202 bool InspectorWorkerAgent::shouldPauseDedicatedWorkerOnStart() | 211 bool InspectorWorkerAgent::shouldPauseDedicatedWorkerOnStart() |
203 { | 212 { |
204 return m_state->getBoolean(WorkerAgentState::autoconnectToWorkers); | 213 return m_state->getBoolean(WorkerAgentState::autoconnectToWorkers); |
205 } | 214 } |
206 | 215 |
207 void InspectorWorkerAgent::didStartWorkerGlobalScope(WorkerGlobalScopeProxy* wor
kerGlobalScopeProxy, const KURL& url) | 216 void InspectorWorkerAgent::didStartWorkerGlobalScope(WorkerGlobalScopeProxy* wor
kerGlobalScopeProxy, const KURL& url) |
208 { | 217 { |
209 m_dedicatedWorkers.set(workerGlobalScopeProxy, url.string()); | 218 m_dedicatedWorkers.set(workerGlobalScopeProxy, url.string()); |
210 if (m_inspectorFrontend && m_state->getBoolean(WorkerAgentState::workerInspe
ctionEnabled)) | 219 if (m_inspectorFrontend && m_state->getBoolean(WorkerAgentState::workerInspe
ctionEnabled)) |
211 createWorkerFrontendChannel(workerGlobalScopeProxy, url.string()); | 220 createWorkerFrontendChannel(workerGlobalScopeProxy, url.string()); |
| 221 if (!m_tracingSessionId.isEmpty()) |
| 222 workerGlobalScopeProxy->writeTimelineStartedEvent(m_tracingSessionId); |
212 } | 223 } |
213 | 224 |
214 void InspectorWorkerAgent::workerGlobalScopeTerminated(WorkerGlobalScopeProxy* p
roxy) | 225 void InspectorWorkerAgent::workerGlobalScopeTerminated(WorkerGlobalScopeProxy* p
roxy) |
215 { | 226 { |
216 m_dedicatedWorkers.remove(proxy); | 227 m_dedicatedWorkers.remove(proxy); |
217 for (WorkerChannels::iterator it = m_idToChannel.begin(); it != m_idToChanne
l.end(); ++it) { | 228 for (WorkerChannels::iterator it = m_idToChannel.begin(); it != m_idToChanne
l.end(); ++it) { |
218 if (proxy == it->value->proxy()) { | 229 if (proxy == it->value->proxy()) { |
219 m_inspectorFrontend->worker()->workerTerminated(it->key); | 230 m_inspectorFrontend->worker()->workerTerminated(it->key); |
220 delete it->value; | 231 delete it->value; |
221 m_idToChannel.remove(it); | 232 m_idToChannel.remove(it); |
(...skipping 23 matching lines...) Expand all Loading... |
245 m_idToChannel.set(channel->id(), channel); | 256 m_idToChannel.set(channel->id(), channel); |
246 | 257 |
247 ASSERT(m_inspectorFrontend); | 258 ASSERT(m_inspectorFrontend); |
248 bool autoconnectToWorkers = m_state->getBoolean(WorkerAgentState::autoconnec
tToWorkers); | 259 bool autoconnectToWorkers = m_state->getBoolean(WorkerAgentState::autoconnec
tToWorkers); |
249 if (autoconnectToWorkers) | 260 if (autoconnectToWorkers) |
250 channel->connectToWorkerGlobalScope(); | 261 channel->connectToWorkerGlobalScope(); |
251 m_inspectorFrontend->worker()->workerCreated(channel->id(), url, autoconnect
ToWorkers); | 262 m_inspectorFrontend->worker()->workerCreated(channel->id(), url, autoconnect
ToWorkers); |
252 } | 263 } |
253 | 264 |
254 } // namespace blink | 265 } // namespace blink |
OLD | NEW |