OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 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 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
150 // terminate during waiting for debugger. | 150 // terminate during waiting for debugger. |
151 ASSERT(m_workerStartData.waitForDebuggerMode == WebEmbeddedWorkerStartDa
ta::WaitForDebugger); | 151 ASSERT(m_workerStartData.waitForDebuggerMode == WebEmbeddedWorkerStartDa
ta::WaitForDebugger); |
152 // This deletes 'this'. | 152 // This deletes 'this'. |
153 m_workerContextClient->workerContextFailedToStart(); | 153 m_workerContextClient->workerContextFailedToStart(); |
154 return; | 154 return; |
155 } | 155 } |
156 m_workerThread->terminate(); | 156 m_workerThread->terminate(); |
157 m_workerInspectorProxy->workerThreadTerminated(); | 157 m_workerInspectorProxy->workerThreadTerminated(); |
158 } | 158 } |
159 | 159 |
160 void WebEmbeddedWorkerImpl::attachDevTools(const WebString& hostId) | 160 void WebEmbeddedWorkerImpl::attachDevTools(const WebString& hostId, int sessionI
d) |
161 { | 161 { |
162 WebDevToolsAgent* devtoolsAgent = m_mainFrame->devToolsAgent(); | 162 WebDevToolsAgent* devtoolsAgent = m_mainFrame->devToolsAgent(); |
163 if (devtoolsAgent) | 163 if (devtoolsAgent) |
164 devtoolsAgent->attach(hostId); | 164 devtoolsAgent->attach(hostId, sessionId); |
165 } | 165 } |
166 | 166 |
167 void WebEmbeddedWorkerImpl::reattachDevTools(const WebString& hostId, const WebS
tring& savedState) | 167 void WebEmbeddedWorkerImpl::reattachDevTools(const WebString& hostId, int sessio
nId, const WebString& savedState) |
168 { | 168 { |
169 WebDevToolsAgent* devtoolsAgent = m_mainFrame->devToolsAgent(); | 169 WebDevToolsAgent* devtoolsAgent = m_mainFrame->devToolsAgent(); |
170 if (devtoolsAgent) | 170 if (devtoolsAgent) |
171 devtoolsAgent->reattach(hostId, savedState); | 171 devtoolsAgent->reattach(hostId, sessionId, savedState); |
172 resumeStartup(); | 172 resumeStartup(); |
173 } | 173 } |
174 | 174 |
175 void WebEmbeddedWorkerImpl::detachDevTools() | 175 void WebEmbeddedWorkerImpl::detachDevTools() |
176 { | 176 { |
177 WebDevToolsAgent* devtoolsAgent = m_mainFrame->devToolsAgent(); | 177 WebDevToolsAgent* devtoolsAgent = m_mainFrame->devToolsAgent(); |
178 if (devtoolsAgent) | 178 if (devtoolsAgent) |
179 devtoolsAgent->detach(); | 179 devtoolsAgent->detach(); |
180 } | 180 } |
181 | 181 |
182 void WebEmbeddedWorkerImpl::dispatchDevToolsMessage(const WebString& message) | 182 void WebEmbeddedWorkerImpl::dispatchDevToolsMessage(int sessionId, const WebStri
ng& message) |
183 { | 183 { |
184 if (m_askedToTerminate) | 184 if (m_askedToTerminate) |
185 return; | 185 return; |
186 WebDevToolsAgent* devtoolsAgent = m_mainFrame->devToolsAgent(); | 186 WebDevToolsAgent* devtoolsAgent = m_mainFrame->devToolsAgent(); |
187 if (devtoolsAgent) | 187 if (devtoolsAgent) |
188 devtoolsAgent->dispatchOnInspectorBackend(message); | 188 devtoolsAgent->dispatchOnInspectorBackend(sessionId, message); |
189 } | 189 } |
190 | 190 |
191 void WebEmbeddedWorkerImpl::postMessageToPageInspector(const String& message) | 191 void WebEmbeddedWorkerImpl::postMessageToPageInspector(const String& message) |
192 { | 192 { |
193 WorkerInspectorProxy::PageInspector* pageInspector = m_workerInspectorProxy-
>pageInspector(); | 193 WorkerInspectorProxy::PageInspector* pageInspector = m_workerInspectorProxy-
>pageInspector(); |
194 if (!pageInspector) | 194 if (!pageInspector) |
195 return; | 195 return; |
196 pageInspector->dispatchMessageFromWorker(message); | 196 pageInspector->dispatchMessageFromWorker(message); |
197 } | 197 } |
198 | 198 |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
278 m_mainScriptLoader->loadAsynchronously( | 278 m_mainScriptLoader->loadAsynchronously( |
279 *m_mainFrame->frame()->document(), | 279 *m_mainFrame->frame()->document(), |
280 m_workerStartData.scriptURL, | 280 m_workerStartData.scriptURL, |
281 DenyCrossOriginRequests, | 281 DenyCrossOriginRequests, |
282 nullptr, | 282 nullptr, |
283 bind(&WebEmbeddedWorkerImpl::onScriptLoaderFinished, this)); | 283 bind(&WebEmbeddedWorkerImpl::onScriptLoaderFinished, this)); |
284 // Do nothing here since onScriptLoaderFinished() might have been already | 284 // Do nothing here since onScriptLoaderFinished() might have been already |
285 // invoked and |this| might have been deleted at this point. | 285 // invoked and |this| might have been deleted at this point. |
286 } | 286 } |
287 | 287 |
288 void WebEmbeddedWorkerImpl::sendProtocolMessage(int callId, const WebString& mes
sage, const WebString& state) | 288 void WebEmbeddedWorkerImpl::sendProtocolMessage(int sessionId, int callId, const
WebString& message, const WebString& state) |
289 { | 289 { |
290 m_workerContextClient->sendDevToolsMessage(callId, message, state); | 290 m_workerContextClient->sendDevToolsMessage(sessionId, callId, message, state
); |
291 } | 291 } |
292 | 292 |
293 void WebEmbeddedWorkerImpl::resumeStartup() | 293 void WebEmbeddedWorkerImpl::resumeStartup() |
294 { | 294 { |
295 WaitingForDebuggerState waitingForDebuggerState = m_waitingForDebuggerState; | 295 WaitingForDebuggerState waitingForDebuggerState = m_waitingForDebuggerState; |
296 m_waitingForDebuggerState = NotWaitingForDebugger; | 296 m_waitingForDebuggerState = NotWaitingForDebugger; |
297 if (waitingForDebuggerState == WaitingForDebuggerBeforeLoadingScript) | 297 if (waitingForDebuggerState == WaitingForDebuggerBeforeLoadingScript) |
298 loadShadowPage(); | 298 loadShadowPage(); |
299 else if (waitingForDebuggerState == WaitingForDebuggerAfterScriptLoaded) | 299 else if (waitingForDebuggerState == WaitingForDebuggerAfterScriptLoaded) |
300 startWorkerThread(); | 300 startWorkerThread(); |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
358 m_mainScriptLoader.clear(); | 358 m_mainScriptLoader.clear(); |
359 | 359 |
360 m_workerGlobalScopeProxy = ServiceWorkerGlobalScopeProxy::create(*this, *doc
ument, *m_workerContextClient); | 360 m_workerGlobalScopeProxy = ServiceWorkerGlobalScopeProxy::create(*this, *doc
ument, *m_workerContextClient); |
361 m_loaderProxy = WorkerLoaderProxy::create(this); | 361 m_loaderProxy = WorkerLoaderProxy::create(this); |
362 m_workerThread = ServiceWorkerThread::create(m_loaderProxy, *m_workerGlobalS
copeProxy); | 362 m_workerThread = ServiceWorkerThread::create(m_loaderProxy, *m_workerGlobalS
copeProxy); |
363 m_workerThread->start(startupData.release()); | 363 m_workerThread->start(startupData.release()); |
364 m_workerInspectorProxy->workerThreadCreated(document, m_workerThread.get(),
scriptURL); | 364 m_workerInspectorProxy->workerThreadCreated(document, m_workerThread.get(),
scriptURL); |
365 } | 365 } |
366 | 366 |
367 } // namespace blink | 367 } // namespace blink |
OLD | NEW |