| Index: Source/web/WebSharedWorkerImpl.cpp
|
| diff --git a/Source/web/WebSharedWorkerImpl.cpp b/Source/web/WebSharedWorkerImpl.cpp
|
| index 240b9108441811afba92ebce1ad30672d2611fa7..63363d33218bb0440e5f35ae317f48ed7976fcc1 100644
|
| --- a/Source/web/WebSharedWorkerImpl.cpp
|
| +++ b/Source/web/WebSharedWorkerImpl.cpp
|
| @@ -394,11 +394,14 @@ void WebSharedWorkerImpl::onScriptLoaderFinished()
|
| if (InspectorInstrumentation::shouldPauseDedicatedWorkerOnStart(document))
|
| startMode = PauseWorkerGlobalScopeOnStart;
|
|
|
| + // FIXME: this document's origin is pristine and without any extra privileges. (crbug.com/254993)
|
| + SecurityOrigin* starterOrigin = document->securityOrigin();
|
| +
|
| OwnPtrWillBeRawPtr<WorkerClients> workerClients = WorkerClients::create();
|
| provideLocalFileSystemToWorker(workerClients.get(), LocalFileSystemClient::create());
|
| WebSecurityOrigin webSecurityOrigin(m_loadingDocument->securityOrigin());
|
| providePermissionClientToWorker(workerClients.get(), adoptPtr(client()->createWorkerPermissionClientProxy(webSecurityOrigin)));
|
| - OwnPtrWillBeRawPtr<WorkerThreadStartupData> startupData = WorkerThreadStartupData::create(m_url, m_loadingDocument->userAgent(m_url), m_mainScriptLoader->script(), startMode, m_contentSecurityPolicy, static_cast<ContentSecurityPolicyHeaderType>(m_policyType), workerClients.release());
|
| + OwnPtrWillBeRawPtr<WorkerThreadStartupData> startupData = WorkerThreadStartupData::create(m_url, m_loadingDocument->userAgent(m_url), m_mainScriptLoader->script(), startMode, m_contentSecurityPolicy, static_cast<ContentSecurityPolicyHeaderType>(m_policyType), starterOrigin, workerClients.release());
|
| setWorkerThread(SharedWorkerThread::create(m_name, *this, *this, startupData.release()));
|
| InspectorInstrumentation::scriptImported(m_loadingDocument.get(), m_mainScriptLoader->identifier(), m_mainScriptLoader->script());
|
| m_mainScriptLoader.clear();
|
|
|