Index: third_party/WebKit/Source/core/loader/WorkerThreadableLoader.h |
diff --git a/third_party/WebKit/Source/core/loader/WorkerThreadableLoader.h b/third_party/WebKit/Source/core/loader/WorkerThreadableLoader.h |
index b691e244628f97b8c5587469a7dd2d63cd672637..70285fa9d9df69f4b16118e49a84c6bcc5c20e4a 100644 |
--- a/third_party/WebKit/Source/core/loader/WorkerThreadableLoader.h |
+++ b/third_party/WebKit/Source/core/loader/WorkerThreadableLoader.h |
@@ -61,13 +61,15 @@ class WorkerThreadableLoader final : public ThreadableLoader, private Threadable |
USING_FAST_MALLOC(WorkerThreadableLoader); |
public: |
static void loadResourceSynchronously(WorkerGlobalScope&, const ResourceRequest&, ThreadableLoaderClient&, const ThreadableLoaderOptions&, const ResourceLoaderOptions&); |
- static PassRefPtr<WorkerThreadableLoader> create(WorkerGlobalScope& workerGlobalScope, ThreadableLoaderClient* client, const ResourceRequest& request, const ThreadableLoaderOptions& options, const ResourceLoaderOptions& resourceLoaderOptions) |
+ static PassRefPtr<WorkerThreadableLoader> create(WorkerGlobalScope& workerGlobalScope, ThreadableLoaderClient* client, const ThreadableLoaderOptions& options, const ResourceLoaderOptions& resourceLoaderOptions) |
{ |
- return adoptRef(new WorkerThreadableLoader(workerGlobalScope, client, request, options, resourceLoaderOptions, LoadAsynchronously)); |
+ return adoptRef(new WorkerThreadableLoader(workerGlobalScope, client, options, resourceLoaderOptions, LoadAsynchronously)); |
} |
~WorkerThreadableLoader() override; |
+ void start(const ResourceRequest&) override; |
+ |
void overrideTimeout(unsigned long timeout) override; |
void cancel() override; |
@@ -101,6 +103,7 @@ private: |
public: |
// All executed on the worker context's thread. |
MainThreadBridgeBase(PassRefPtr<ThreadableLoaderClientWrapper>, PassRefPtr<WorkerLoaderProxy>); |
+ virtual void start(const ResourceRequest&, const WorkerGlobalScope&) = 0; |
void overrideTimeout(unsigned long timeoutMilliseconds); |
void cancel(); |
void destroy(); |
@@ -121,18 +124,15 @@ private: |
~MainThreadBridgeBase() override; |
// Posts a task to the main thread to run mainThreadCreateLoader(). |
- void createLoader(const ResourceRequest&, const ThreadableLoaderOptions&, const ResourceLoaderOptions&, const ReferrerPolicy&, const String&); |
+ void createLoaderInMainThread(const ThreadableLoaderOptions&, const ResourceLoaderOptions&); |
+ // Posts a task to the main thread to run mainThreadStart(); |
+ void startInMainThread(const ResourceRequest&, const WorkerGlobalScope&); |
WorkerLoaderProxy* loaderProxy() |
{ |
return m_loaderProxy.get(); |
} |
- PassRefPtr<ThreadableLoaderClientWrapper> workerClientWrapper() |
- { |
- return m_workerClientWrapper; |
- } |
- |
private: |
// The following methods are overridden by the subclasses to implement |
// code to forward did.* method invocations to the worker context's |
@@ -141,7 +141,8 @@ private: |
virtual void forwardTaskToWorkerOnLoaderDone(PassOwnPtr<ExecutionContextTask>) = 0; |
// All executed on the main thread. |
- void mainThreadCreateLoader(PassOwnPtr<CrossThreadResourceRequestData>, ThreadableLoaderOptions, ResourceLoaderOptions, const ReferrerPolicy, const String& outgoingReferrer, ExecutionContext*); |
+ void mainThreadCreateLoader(ThreadableLoaderOptions, ResourceLoaderOptions, ExecutionContext*); |
+ void mainThreadStart(PassOwnPtr<CrossThreadResourceRequestData>, const ReferrerPolicy, const String& outgoingReferrer); |
void mainThreadDestroy(ExecutionContext*); |
void mainThreadOverrideTimeout(unsigned long timeoutMilliseconds, ExecutionContext*); |
void mainThreadCancel(ExecutionContext*); |
@@ -162,7 +163,8 @@ private: |
class MainThreadAsyncBridge final : public MainThreadBridgeBase { |
public: |
- MainThreadAsyncBridge(WorkerGlobalScope&, PassRefPtr<ThreadableLoaderClientWrapper>, const ResourceRequest&, const ThreadableLoaderOptions&, const ResourceLoaderOptions&, const ReferrerPolicy, const String& outgoingReferrer); |
+ MainThreadAsyncBridge(WorkerGlobalScope&, PassRefPtr<ThreadableLoaderClientWrapper>, const ThreadableLoaderOptions&, const ResourceLoaderOptions&); |
+ void start(const ResourceRequest&, const WorkerGlobalScope&) override; |
private: |
~MainThreadAsyncBridge() override; |
@@ -173,7 +175,8 @@ private: |
class MainThreadSyncBridge final : public MainThreadBridgeBase { |
public: |
- MainThreadSyncBridge(WorkerGlobalScope&, PassRefPtr<ThreadableLoaderClientWrapper>, const ResourceRequest&, const ThreadableLoaderOptions&, const ResourceLoaderOptions&, const ReferrerPolicy, const String& outgoingReferrer); |
+ MainThreadSyncBridge(WorkerGlobalScope&, PassRefPtr<ThreadableLoaderClientWrapper>, const ThreadableLoaderOptions&, const ResourceLoaderOptions&); |
+ void start(const ResourceRequest&, const WorkerGlobalScope&) override; |
private: |
~MainThreadSyncBridge() override; |
@@ -190,7 +193,7 @@ private: |
Mutex m_lock; |
}; |
- WorkerThreadableLoader(WorkerGlobalScope&, ThreadableLoaderClient*, const ResourceRequest&, const ThreadableLoaderOptions&, const ResourceLoaderOptions&, BlockingBehavior); |
+ WorkerThreadableLoader(WorkerGlobalScope&, ThreadableLoaderClient*, const ThreadableLoaderOptions&, const ResourceLoaderOptions&, BlockingBehavior); |
void didReceiveResourceTiming(const ResourceTimingInfo&) override; |