| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 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 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 44 #include "core/workers/SharedWorkerThread.h" | 44 #include "core/workers/SharedWorkerThread.h" |
| 45 #include "core/workers/WorkerClients.h" | 45 #include "core/workers/WorkerClients.h" |
| 46 #include "core/workers/WorkerGlobalScope.h" | 46 #include "core/workers/WorkerGlobalScope.h" |
| 47 #include "core/workers/WorkerInspectorProxy.h" | 47 #include "core/workers/WorkerInspectorProxy.h" |
| 48 #include "core/workers/WorkerLoaderProxy.h" | 48 #include "core/workers/WorkerLoaderProxy.h" |
| 49 #include "core/workers/WorkerScriptLoader.h" | 49 #include "core/workers/WorkerScriptLoader.h" |
| 50 #include "core/workers/WorkerThreadStartupData.h" | 50 #include "core/workers/WorkerThreadStartupData.h" |
| 51 #include "platform/CrossThreadFunctional.h" | 51 #include "platform/CrossThreadFunctional.h" |
| 52 #include "platform/RuntimeEnabledFeatures.h" | 52 #include "platform/RuntimeEnabledFeatures.h" |
| 53 #include "platform/heap/Handle.h" | 53 #include "platform/heap/Handle.h" |
| 54 #include "platform/heap/Persistent.h" |
| 54 #include "platform/network/ContentSecurityPolicyParsers.h" | 55 #include "platform/network/ContentSecurityPolicyParsers.h" |
| 55 #include "platform/network/ResourceResponse.h" | 56 #include "platform/network/ResourceResponse.h" |
| 56 #include "platform/weborigin/KURL.h" | 57 #include "platform/weborigin/KURL.h" |
| 57 #include "platform/weborigin/SecurityOrigin.h" | 58 #include "platform/weborigin/SecurityOrigin.h" |
| 58 #include "public/platform/Platform.h" | 59 #include "public/platform/Platform.h" |
| 59 #include "public/platform/WebFileError.h" | 60 #include "public/platform/WebFileError.h" |
| 60 #include "public/platform/WebMessagePortChannel.h" | 61 #include "public/platform/WebMessagePortChannel.h" |
| 61 #include "public/platform/WebString.h" | 62 #include "public/platform/WebString.h" |
| 62 #include "public/platform/WebURL.h" | 63 #include "public/platform/WebURL.h" |
| 63 #include "public/platform/WebURLRequest.h" | 64 #include "public/platform/WebURLRequest.h" |
| (...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 299 m_client->workerContextDestroyed(); | 300 m_client->workerContextDestroyed(); |
| 300 // The lifetime of this proxy is controlled by the worker context. | 301 // The lifetime of this proxy is controlled by the worker context. |
| 301 delete this; | 302 delete this; |
| 302 } | 303 } |
| 303 | 304 |
| 304 // WorkerLoaderProxyProvider ------------------------------------------------- | 305 // WorkerLoaderProxyProvider ------------------------------------------------- |
| 305 | 306 |
| 306 void WebSharedWorkerImpl::postTaskToLoader( | 307 void WebSharedWorkerImpl::postTaskToLoader( |
| 307 const WebTraceLocation& location, | 308 const WebTraceLocation& location, |
| 308 std::unique_ptr<ExecutionContextTask> task) { | 309 std::unique_ptr<ExecutionContextTask> task) { |
| 309 // TODO(hiroshige,yuryu): Make this not use ExecutionContextTask and | 310 m_parentFrameTaskRunners->get(TaskType::Networking) |
| 310 // consider using m_parentFrameTaskRunners->get(TaskType::Networking) | 311 ->postTask(FROM_HERE, |
| 311 // instead. | 312 crossThreadBind( |
| 312 m_mainFrame->frame()->document()->postTask(location, std::move(task)); | 313 &ExecutionContextTask::performTaskIfContextIsValid, |
| 314 WTF::passed(std::move(task)), |
| 315 wrapCrossThreadWeakPersistent(m_loadingDocument.get()))); |
| 313 } | 316 } |
| 314 | 317 |
| 315 void WebSharedWorkerImpl::postTaskToWorkerGlobalScope( | 318 void WebSharedWorkerImpl::postTaskToWorkerGlobalScope( |
| 316 const WebTraceLocation& location, | 319 const WebTraceLocation& location, |
| 317 std::unique_ptr<ExecutionContextTask> task) { | 320 std::unique_ptr<ExecutionContextTask> task) { |
| 318 m_workerThread->postTask(location, std::move(task)); | 321 m_workerThread->postTask(location, std::move(task)); |
| 319 } | 322 } |
| 320 | 323 |
| 321 void WebSharedWorkerImpl::connect(WebMessagePortChannel* webChannel) { | 324 void WebSharedWorkerImpl::connect(WebMessagePortChannel* webChannel) { |
| 322 workerThread()->postTask( | 325 workerThread()->postTask( |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 461 if (devtoolsAgent) | 464 if (devtoolsAgent) |
| 462 devtoolsAgent->dispatchOnInspectorBackend(sessionId, callId, method, | 465 devtoolsAgent->dispatchOnInspectorBackend(sessionId, callId, method, |
| 463 message); | 466 message); |
| 464 } | 467 } |
| 465 | 468 |
| 466 WebSharedWorker* WebSharedWorker::create(WebSharedWorkerClient* client) { | 469 WebSharedWorker* WebSharedWorker::create(WebSharedWorkerClient* client) { |
| 467 return new WebSharedWorkerImpl(client); | 470 return new WebSharedWorkerImpl(client); |
| 468 } | 471 } |
| 469 | 472 |
| 470 } // namespace blink | 473 } // namespace blink |
| OLD | NEW |