| Index: third_party/WebKit/Source/web/WebSharedWorkerImpl.cpp
|
| diff --git a/third_party/WebKit/Source/web/WebSharedWorkerImpl.cpp b/third_party/WebKit/Source/web/WebSharedWorkerImpl.cpp
|
| index b6358692fa2b5d1f3b5337391baf1b337f8ae388..4241c9eb85fe4d4692ae8651d4708d4146d7bfec 100644
|
| --- a/third_party/WebKit/Source/web/WebSharedWorkerImpl.cpp
|
| +++ b/third_party/WebKit/Source/web/WebSharedWorkerImpl.cpp
|
| @@ -315,10 +315,10 @@ void WebSharedWorkerImpl::OnScriptLoaderFinished() {
|
| return;
|
| }
|
|
|
| - Document* document = main_frame_->GetFrame()->GetDocument();
|
| - // FIXME: this document's origin is pristine and without any extra privileges.
|
| - // (crbug.com/254993)
|
| - SecurityOrigin* starter_origin = document->GetSecurityOrigin();
|
| + // FIXME: this document's origin is pristine and without any extra privileges
|
| + // (e.g. GrantUniversalAccess) that can be overriden in regular documents
|
| + // via WebPreference by embedders. (crbug.com/254993)
|
| + SecurityOrigin* starter_origin = loading_document_->GetSecurityOrigin();
|
|
|
| WorkerClients* worker_clients = WorkerClients::Create();
|
| ProvideLocalFileSystemToWorker(worker_clients,
|
| @@ -347,9 +347,9 @@ void WebSharedWorkerImpl::OnScriptLoaderFinished() {
|
| ContentSecurityPolicy* content_security_policy =
|
| main_script_loader_->ReleaseContentSecurityPolicy();
|
| WorkerThreadStartMode start_mode =
|
| - worker_inspector_proxy_->WorkerStartMode(document);
|
| - std::unique_ptr<WorkerSettings> worker_settings =
|
| - WTF::WrapUnique(new WorkerSettings(document->GetSettings()));
|
| + worker_inspector_proxy_->WorkerStartMode(loading_document_);
|
| + std::unique_ptr<WorkerSettings> worker_settings = WTF::WrapUnique(
|
| + new WorkerSettings(main_frame_->GetFrame()->GetSettings()));
|
| WorkerV8Settings worker_v8_settings = WorkerV8Settings::Default();
|
| worker_v8_settings.atomics_wait_mode_ =
|
| WorkerV8Settings::AtomicsWaitMode::kAllow;
|
|
|