Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1194)

Unified Diff: Source/core/loader/WorkerThreadableLoader.cpp

Issue 887463003: Turn WorkerLoaderProxy into a threadsafe, ref-counted object. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Clarify WorkerLoaderProxyProvider's obligations on shutdown Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/loader/WorkerThreadableLoader.h ('k') | Source/core/workers/DedicatedWorkerThread.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/loader/WorkerThreadableLoader.cpp
diff --git a/Source/core/loader/WorkerThreadableLoader.cpp b/Source/core/loader/WorkerThreadableLoader.cpp
index e66d2458fb900408dc710eb2528dbace17c13893..a7b8d1da1a94d9fa78e125beda07e659f6b51345 100644
--- a/Source/core/loader/WorkerThreadableLoader.cpp
+++ b/Source/core/loader/WorkerThreadableLoader.cpp
@@ -109,7 +109,7 @@ void WorkerThreadableLoader::cancel()
WorkerThreadableLoader::MainThreadBridge::MainThreadBridge(
PassRefPtr<ThreadableLoaderClientWrapper> workerClientWrapper,
PassOwnPtr<ThreadableLoaderClient> clientBridge,
- WorkerLoaderProxy& loaderProxy,
+ PassRefPtr<WorkerLoaderProxy> loaderProxy,
const ResourceRequest& request,
const ThreadableLoaderOptions& options,
const ResourceLoaderOptions& resourceLoaderOptions,
@@ -120,7 +120,7 @@ WorkerThreadableLoader::MainThreadBridge::MainThreadBridge(
{
ASSERT(m_workerClientWrapper.get());
ASSERT(m_clientBridge.get());
- m_loaderProxy.postTaskToLoader(
+ m_loaderProxy->postTaskToLoader(
createCrossThreadTask(&MainThreadBridge::mainThreadCreateLoader, AllowCrossThreadAccess(this), request, options, resourceLoaderOptions, outgoingReferrer));
}
@@ -156,7 +156,7 @@ void WorkerThreadableLoader::MainThreadBridge::destroy()
clearClientWrapper();
// "delete this" and m_mainThreadLoader::deref() on the worker object's thread.
- m_loaderProxy.postTaskToLoader(
+ m_loaderProxy->postTaskToLoader(
createCrossThreadTask(&MainThreadBridge::mainThreadDestroy, AllowCrossThreadAccess(this)));
}
@@ -172,7 +172,7 @@ void WorkerThreadableLoader::MainThreadBridge::mainThreadOverrideTimeout(Executi
void WorkerThreadableLoader::MainThreadBridge::overrideTimeout(unsigned long timeoutMilliseconds)
{
- m_loaderProxy.postTaskToLoader(
+ m_loaderProxy->postTaskToLoader(
createCrossThreadTask(&MainThreadBridge::mainThreadOverrideTimeout, AllowCrossThreadAccess(this),
timeoutMilliseconds));
}
@@ -190,7 +190,7 @@ void WorkerThreadableLoader::MainThreadBridge::mainThreadCancel(ExecutionContext
void WorkerThreadableLoader::MainThreadBridge::cancel()
{
- m_loaderProxy.postTaskToLoader(
+ m_loaderProxy->postTaskToLoader(
createCrossThreadTask(&MainThreadBridge::mainThreadCancel, AllowCrossThreadAccess(this)));
ThreadableLoaderClientWrapper* clientWrapper = m_workerClientWrapper.get();
if (!clientWrapper->done()) {
« no previous file with comments | « Source/core/loader/WorkerThreadableLoader.h ('k') | Source/core/workers/DedicatedWorkerThread.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698