Index: Source/web/WebEmbeddedWorkerImpl.cpp |
diff --git a/Source/web/WebEmbeddedWorkerImpl.cpp b/Source/web/WebEmbeddedWorkerImpl.cpp |
index a9b82e734e3fb8a5a0780503e83aa88f07a42d4e..f99b3507b56cf14ffd9b1968cb2a96966f20aee1 100644 |
--- a/Source/web/WebEmbeddedWorkerImpl.cpp |
+++ b/Source/web/WebEmbeddedWorkerImpl.cpp |
@@ -402,6 +402,9 @@ void WebEmbeddedWorkerImpl::startWorkerThread() |
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(); |
providePermissionClientToWorker(workerClients.get(), m_permissionClient.release()); |
provideServiceWorkerGlobalScopeClientToWorker(workerClients.get(), ServiceWorkerGlobalScopeClientImpl::create(*m_workerContextClient)); |
@@ -416,6 +419,7 @@ void WebEmbeddedWorkerImpl::startWorkerThread() |
// FIXME: fill appropriate CSP info and policy type. |
String(), |
ContentSecurityPolicyHeaderTypeEnforce, |
+ starterOrigin, |
workerClients.release()); |
m_mainScriptLoader.clear(); |