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..5afed8a7c8dcef484ef12a6a3fece1e08a57702c 100644 |
--- a/content/browser/service_worker/service_worker_context_core.cc |
+++ b/content/browser/service_worker/service_worker_context_core.cc |
@@ -631,13 +631,13 @@ 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() |
+ ? ServiceWorkerProviderHost::FrameSecurityLevel::SECURE |
+ : ServiceWorkerProviderHost::FrameSecurityLevel::INSECURE, |
+ AsWeakPtr(), transferee->dispatcher_host()); |
map->Replace(provider_id, replacement); |
transferee->PrepareForCrossSiteTransfer(); |
return base::WrapUnique(transferee); |