| Index: content/browser/service_worker/service_worker_context_core.cc
|
| diff --git a/content/browser/service_worker/service_worker_context_core.cc b/content/browser/service_worker/service_worker_context_core.cc
|
| index 704f821d151d6b7c874d6452728743f0b82973a6..a9b1197d2364fdfc325606b3577405716fc400e8 100644
|
| --- a/content/browser/service_worker/service_worker_context_core.cc
|
| +++ b/content/browser/service_worker/service_worker_context_core.cc
|
| @@ -631,26 +631,23 @@ ServiceWorkerContextCore::TransferProviderHostOut(int process_id,
|
| int provider_id) {
|
| ProviderMap* map = GetProviderMapForProcess(process_id);
|
| ServiceWorkerProviderHost* transferee = map->Lookup(provider_id);
|
| - ServiceWorkerProviderHost* replacement =
|
| - new ServiceWorkerProviderHost(process_id,
|
| - transferee->frame_id(),
|
| - provider_id,
|
| - transferee->provider_type(),
|
| - AsWeakPtr(),
|
| - transferee->dispatcher_host());
|
| + ServiceWorkerProviderHost* replacement = new ServiceWorkerProviderHost(
|
| + process_id, transferee->frame_id(), provider_id,
|
| + transferee->provider_type(), transferee->is_parent_frame_secure(),
|
| + AsWeakPtr(), transferee->dispatcher_host());
|
| map->Replace(provider_id, replacement);
|
| transferee->PrepareForCrossSiteTransfer();
|
| return base::WrapUnique(transferee);
|
| }
|
|
|
| -void ServiceWorkerContextCore::TransferProviderHostIn(
|
| +bool ServiceWorkerContextCore::TransferProviderHostIn(
|
| int new_process_id,
|
| int new_provider_id,
|
| std::unique_ptr<ServiceWorkerProviderHost> transferee) {
|
| ProviderMap* map = GetProviderMapForProcess(new_process_id);
|
| ServiceWorkerProviderHost* temp = map->Lookup(new_provider_id);
|
| if (!temp)
|
| - return;
|
| + return false;
|
|
|
| DCHECK(temp->document_url().is_empty());
|
| transferee->CompleteCrossSiteTransfer(new_process_id,
|
| @@ -660,6 +657,7 @@ void ServiceWorkerContextCore::TransferProviderHostIn(
|
| temp->dispatcher_host());
|
| map->Replace(new_provider_id, transferee.release());
|
| delete temp;
|
| + return true;
|
| }
|
|
|
| void ServiceWorkerContextCore::ClearAllServiceWorkersForTest(
|
|
|