| 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
 | 
| 
 |