| Index: Source/core/workers/WorkerThreadStartupData.h
|
| diff --git a/Source/core/workers/WorkerThreadStartupData.h b/Source/core/workers/WorkerThreadStartupData.h
|
| index 1e85c2cf55a91fbba0b5d7c0b64eb98c6aa25245..f92b17545562efa3b50e6c9038d5b122e85d84b0 100644
|
| --- a/Source/core/workers/WorkerThreadStartupData.h
|
| +++ b/Source/core/workers/WorkerThreadStartupData.h
|
| @@ -47,9 +47,9 @@ class WorkerThreadStartupData FINAL : public NoBaseWillBeGarbageCollectedFinaliz
|
| WTF_MAKE_NONCOPYABLE(WorkerThreadStartupData);
|
| WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED;
|
| public:
|
| - static PassOwnPtrWillBeRawPtr<WorkerThreadStartupData> create(const KURL& scriptURL, const String& userAgent, const String& sourceCode, WorkerThreadStartMode startMode, const String& contentSecurityPolicy, ContentSecurityPolicyHeaderType contentSecurityPolicyType, PassOwnPtrWillBeRawPtr<WorkerClients> workerClients)
|
| + static PassOwnPtrWillBeRawPtr<WorkerThreadStartupData> create(const KURL& scriptURL, const String& userAgent, const String& sourceCode, WorkerThreadStartMode startMode, const String& contentSecurityPolicy, ContentSecurityPolicyHeaderType contentSecurityPolicyType, const SecurityOrigin* starterOrigin, PassOwnPtrWillBeRawPtr<WorkerClients> workerClients)
|
| {
|
| - return adoptPtrWillBeNoop(new WorkerThreadStartupData(scriptURL, userAgent, sourceCode, startMode, contentSecurityPolicy, contentSecurityPolicyType, workerClients));
|
| + return adoptPtrWillBeNoop(new WorkerThreadStartupData(scriptURL, userAgent, sourceCode, startMode, contentSecurityPolicy, contentSecurityPolicyType, starterOrigin, workerClients));
|
| }
|
|
|
| ~WorkerThreadStartupData();
|
| @@ -60,12 +60,27 @@ public:
|
| WorkerThreadStartMode m_startMode;
|
| String m_contentSecurityPolicy;
|
| ContentSecurityPolicyHeaderType m_contentSecurityPolicyType;
|
| +
|
| + // The SecurityOrigin of the Document creating a Worker may have
|
| + // been configured with extra policy privileges when it was created
|
| + // (e.g., enforce path-based file:// origins.)
|
| + // To ensure that these are transferred to the origin of a new worker
|
| + // global scope, supply the Document's SecurityOrigin as the
|
| + // 'starter origin'.
|
| + //
|
| + // Ownership of this optional starter origin remain with the caller,
|
| + // and is assumed to stay alive until the new Worker thread has been
|
| + // initialized.
|
| + //
|
| + // See SecurityOrigin::transferPrivilegesFrom() for details on what
|
| + // privileges are transferred.
|
| + const SecurityOrigin* m_starterOrigin;
|
| OwnPtrWillBeMember<WorkerClients> m_workerClients;
|
|
|
| void trace(Visitor*);
|
|
|
| private:
|
| - WorkerThreadStartupData(const KURL& scriptURL, const String& userAgent, const String& sourceCode, WorkerThreadStartMode, const String& contentSecurityPolicy, ContentSecurityPolicyHeaderType contentSecurityPolicyType, PassOwnPtrWillBeRawPtr<WorkerClients>);
|
| + WorkerThreadStartupData(const KURL& scriptURL, const String& userAgent, const String& sourceCode, WorkerThreadStartMode, const String& contentSecurityPolicy, ContentSecurityPolicyHeaderType contentSecurityPolicyType, const SecurityOrigin*, PassOwnPtrWillBeRawPtr<WorkerClients>);
|
| };
|
|
|
| } // namespace blink
|
|
|