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