| 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));
|
| }
|
|
|
|
|