Index: Source/web/WebEmbeddedWorkerImpl.cpp |
diff --git a/Source/web/WebEmbeddedWorkerImpl.cpp b/Source/web/WebEmbeddedWorkerImpl.cpp |
index b64695bfa3cf0a4b4d9d0a588ef440ae3fbdc9ac..73afc3dc1c0687fdf5afb65d462d9a382b895b09 100644 |
--- a/Source/web/WebEmbeddedWorkerImpl.cpp |
+++ b/Source/web/WebEmbeddedWorkerImpl.cpp |
@@ -44,7 +44,6 @@ |
#include "core/workers/WorkerInspectorProxy.h" |
#include "core/workers/WorkerLoaderProxy.h" |
#include "core/workers/WorkerScriptLoader.h" |
-#include "core/workers/WorkerScriptLoaderClient.h" |
#include "core/workers/WorkerThreadStartupData.h" |
#include "modules/serviceworkers/ServiceWorkerContainerClient.h" |
#include "modules/serviceworkers/ServiceWorkerThread.h" |
@@ -70,54 +69,6 @@ |
namespace blink { |
-// A thin wrapper for one-off script loading. |
-class WebEmbeddedWorkerImpl::Loader : public WorkerScriptLoaderClient { |
-public: |
- static PassOwnPtr<Loader> create() |
- { |
- return adoptPtr(new Loader()); |
- } |
- |
- virtual ~Loader() |
- { |
- m_scriptLoader->setClient(0); |
- } |
- |
- void load(ExecutionContext* loadingContext, const KURL& scriptURL, PassOwnPtr<Closure> callback) |
- { |
- ASSERT(loadingContext); |
- m_callback = callback; |
- m_scriptLoader->setRequestContext(WebURLRequest::RequestContextServiceWorker); |
- m_scriptLoader->loadAsynchronously( |
- *loadingContext, scriptURL, DenyCrossOriginRequests, this); |
- } |
- |
- virtual void notifyFinished() override |
- { |
- (*m_callback)(); |
- } |
- |
- void cancel() |
- { |
- m_scriptLoader->cancel(); |
- } |
- |
- bool failed() const { return m_scriptLoader->failed(); } |
- const KURL& url() const { return m_scriptLoader->responseURL(); } |
- String script() const { return m_scriptLoader->script(); } |
- const Vector<char>* cachedMetadata() const { return m_scriptLoader->cachedMetadata(); } |
- PassOwnPtr<Vector<char>> releaseCachedMetadata() const { return m_scriptLoader->releaseCachedMetadata(); } |
- PassRefPtr<ContentSecurityPolicy> releaseContentSecurityPolicy() { return m_scriptLoader->releaseContentSecurityPolicy(); } |
- |
-private: |
- Loader() : m_scriptLoader(WorkerScriptLoader::create()) |
- { |
- } |
- |
- RefPtr<WorkerScriptLoader> m_scriptLoader; |
- OwnPtr<Closure> m_callback; |
-}; |
- |
WebEmbeddedWorker* WebEmbeddedWorker::create(WebServiceWorkerContextClient* client, WebWorkerContentSettingsClientProxy* contentSettingsClient) |
{ |
return new WebEmbeddedWorkerImpl(adoptPtr(client), adoptPtr(contentSettingsClient)); |
@@ -346,10 +297,13 @@ void WebEmbeddedWorkerImpl::didFinishDocumentLoad(WebLocalFrame* frame) |
ASSERT(!m_askedToTerminate); |
m_loadingShadowPage = false; |
m_networkProvider = adoptPtr(m_workerContextClient->createServiceWorkerNetworkProvider(frame->dataSource())); |
- m_mainScriptLoader = Loader::create(); |
- m_mainScriptLoader->load( |
- m_mainFrame->frame()->document(), |
+ m_mainScriptLoader = adoptPtr(new WorkerScriptLoader()); |
+ m_mainScriptLoader->setRequestContext(WebURLRequest::RequestContextServiceWorker); |
+ m_mainScriptLoader->loadAsynchronously( |
+ *m_mainFrame->frame()->document(), |
m_workerStartData.scriptURL, |
+ DenyCrossOriginRequests, |
+ nullptr, |
bind(&WebEmbeddedWorkerImpl::onScriptLoaderFinished, this)); |
} |