Index: Source/web/WebSharedWorkerImpl.cpp |
diff --git a/Source/web/WebSharedWorkerImpl.cpp b/Source/web/WebSharedWorkerImpl.cpp |
index 240b9108441811afba92ebce1ad30672d2611fa7..3b0b8b7171663c15a3352de10371b39a45fbaae1 100644 |
--- a/Source/web/WebSharedWorkerImpl.cpp |
+++ b/Source/web/WebSharedWorkerImpl.cpp |
@@ -394,11 +394,15 @@ void WebSharedWorkerImpl::onScriptLoaderFinished() |
if (InspectorInstrumentation::shouldPauseDedicatedWorkerOnStart(document)) |
startMode = PauseWorkerGlobalScopeOnStart; |
+ SecurityOrigin::PolicyOverrides originPolicyOverrides; |
+ if (document->securityOrigin()) |
horo
2014/09/24 05:42:27
I think WebSharedWorkerImpl's m_mainFrame is not a
|
+ originPolicyOverrides = document->securityOrigin()->policyOverrides(); |
+ |
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), originPolicyOverrides, 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(); |