| Index: content/renderer/service_worker/service_worker_context_client.cc
|
| diff --git a/content/renderer/service_worker/service_worker_context_client.cc b/content/renderer/service_worker/service_worker_context_client.cc
|
| index a1e97f3525ba9152f38e56508878108b75ad7256..7332acf3aee10b8a5a4d1c97066090d482cde884 100644
|
| --- a/content/renderer/service_worker/service_worker_context_client.cc
|
| +++ b/content/renderer/service_worker/service_worker_context_client.cc
|
| @@ -554,7 +554,6 @@ ServiceWorkerContextClient::ServiceWorkerContextClient(
|
| const GURL& script_url,
|
| mojom::ServiceWorkerEventDispatcherRequest dispatcher_request,
|
| mojom::EmbeddedWorkerInstanceHostAssociatedPtrInfo instance_host,
|
| - mojom::ServiceWorkerProviderInfoForStartWorkerPtr provider_info,
|
| std::unique_ptr<EmbeddedWorkerInstanceClientImpl> embedded_worker_client)
|
| : embedded_worker_id_(embedded_worker_id),
|
| service_worker_version_id_(service_worker_version_id),
|
| @@ -576,11 +575,6 @@ ServiceWorkerContextClient::ServiceWorkerContextClient(
|
| "ServiceWorkerContextClient::StartingWorkerContext",
|
| this,
|
| "PrepareWorker");
|
| - // Create a content::ServiceWorkerNetworkProvider for this data source so
|
| - // we can observe its requests.
|
| - pending_network_provider_ =
|
| - base::MakeUnique<ServiceWorkerNetworkProvider>(std::move(provider_info));
|
| - provider_context_ = pending_network_provider_->context();
|
| }
|
|
|
| ServiceWorkerContextClient::~ServiceWorkerContextClient() {}
|
| @@ -722,7 +716,9 @@ void ServiceWorkerContextClient::WorkerContextStarted(
|
|
|
| SetRegistrationInServiceWorkerGlobalScope(registration_info, version_attrs);
|
|
|
| - (*instance_host_)->OnThreadStarted(WorkerThread::GetCurrentId());
|
| + (*instance_host_)
|
| + ->OnThreadStarted(WorkerThread::GetCurrentId(),
|
| + provider_context_->provider_id());
|
|
|
| TRACE_EVENT_ASYNC_STEP_INTO0(
|
| "ServiceWorker",
|
| @@ -1100,9 +1096,23 @@ void ServiceWorkerContextClient::DidHandlePaymentRequestEvent(
|
| std::unique_ptr<blink::WebServiceWorkerNetworkProvider>
|
| ServiceWorkerContextClient::CreateServiceWorkerNetworkProvider() {
|
| DCHECK(main_thread_task_runner_->RunsTasksInCurrentSequence());
|
| +
|
| + // Create a content::ServiceWorkerNetworkProvider for this data source so
|
| + // we can observe its requests.
|
| + std::unique_ptr<ServiceWorkerNetworkProvider> provider =
|
| + base::MakeUnique<ServiceWorkerNetworkProvider>(
|
| + MSG_ROUTING_NONE, SERVICE_WORKER_PROVIDER_FOR_CONTROLLER,
|
| + true /* is_parent_frame_secure */);
|
| + provider_context_ = provider->context();
|
| + network_provider_id_ = provider->provider_id();
|
| +
|
| + // Tell the network provider about which version to load.
|
| + provider->SetServiceWorkerVersionId(service_worker_version_id_,
|
| + embedded_worker_id_);
|
| +
|
| // Blink is responsible for deleting the returned object.
|
| return base::MakeUnique<WebServiceWorkerNetworkProviderImpl>(
|
| - std::move(pending_network_provider_));
|
| + std::move(provider));
|
| }
|
|
|
| std::unique_ptr<blink::WebWorkerFetchContext>
|
| @@ -1118,7 +1128,7 @@ ServiceWorkerContextClient::CreateServiceWorkerFetchContext() {
|
| // Blink is responsible for deleting the returned object.
|
| return base::MakeUnique<ServiceWorkerFetchContextImpl>(
|
| script_url_, worker_url_loader_factory_provider.PassInterface(),
|
| - provider_context_->provider_id());
|
| + network_provider_id_);
|
| }
|
|
|
| std::unique_ptr<blink::WebServiceWorkerProvider>
|
|
|