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 d787d5c1d9e71227ef5df1d4b66fd1540badb902..9cf9858fb521669bbc0eee778627ff3774247ff3 100644 |
--- a/content/browser/service_worker/service_worker_context_core.cc |
+++ b/content/browser/service_worker/service_worker_context_core.cc |
@@ -641,9 +641,8 @@ ServiceWorkerContextCore::TransferProviderHostOut(int process_id, |
? ServiceWorkerProviderHost::FrameSecurityLevel::SECURE |
: ServiceWorkerProviderHost::FrameSecurityLevel::INSECURE, |
AsWeakPtr(), transferee->dispatcher_host()); |
- map->Replace(provider_id, replacement); |
transferee->PrepareForCrossSiteTransfer(); |
- return base::WrapUnique(transferee); |
+ return map->Replace(provider_id, base::WrapUnique(replacement)); |
} |
void ServiceWorkerContextCore::TransferProviderHostIn( |
@@ -661,8 +660,7 @@ void ServiceWorkerContextCore::TransferProviderHostIn( |
new_provider_id, |
temp->provider_type(), |
temp->dispatcher_host()); |
- map->Replace(new_provider_id, transferee.release()); |
- delete temp; |
+ map->Replace(new_provider_id, std::move(transferee)); |
} |
void ServiceWorkerContextCore::ClearAllServiceWorkersForTest( |