Index: content/child/service_worker/service_worker_network_provider.cc |
diff --git a/content/child/service_worker/service_worker_network_provider.cc b/content/child/service_worker/service_worker_network_provider.cc |
index 7a077c9b1d2c6a8fb12ac859fec8ada8d96a7376..c9d7e2774dcac7c84eee62c0e566209840954f84 100644 |
--- a/content/child/service_worker/service_worker_network_provider.cc |
+++ b/content/child/service_worker/service_worker_network_provider.cc |
@@ -38,8 +38,12 @@ ServiceWorkerNetworkProvider* ServiceWorkerNetworkProvider::FromDocumentState( |
ServiceWorkerNetworkProvider::ServiceWorkerNetworkProvider( |
int route_id, |
ServiceWorkerProviderType provider_type) |
- : provider_id_(GetNextProviderId()), |
- context_(new ServiceWorkerProviderContext(provider_id_)) { |
+ : provider_id_(provider_type == SERVICE_WORKER_PROVIDER_FOR_SANDBOXED_FRAME |
+ ? kInvalidServiceWorkerProviderId |
+ : GetNextProviderId()) { |
kinuko
2015/06/23 10:55:56
nit: could this part be factored out as a static f
horo
2015/06/23 13:55:13
Done.
|
+ if (provider_id_ == kInvalidServiceWorkerProviderId) |
+ return; |
+ context_ = new ServiceWorkerProviderContext(provider_id_); |
if (!ChildThreadImpl::current()) |
return; // May be null in some tests. |
ChildThreadImpl::current()->Send(new ServiceWorkerHostMsg_ProviderCreated( |
@@ -47,6 +51,8 @@ ServiceWorkerNetworkProvider::ServiceWorkerNetworkProvider( |
} |
ServiceWorkerNetworkProvider::~ServiceWorkerNetworkProvider() { |
+ if (provider_id_ == kInvalidServiceWorkerProviderId) |
+ return; |
if (!ChildThreadImpl::current()) |
return; // May be null in some tests. |
ChildThreadImpl::current()->Send( |
@@ -55,6 +61,7 @@ ServiceWorkerNetworkProvider::~ServiceWorkerNetworkProvider() { |
void ServiceWorkerNetworkProvider::SetServiceWorkerVersionId( |
int64 version_id) { |
+ DCHECK(provider_id_ != kInvalidServiceWorkerProviderId); |
kinuko
2015/06/23 10:55:56
nit: DCHECK_NE
horo
2015/06/23 13:55:13
Done.
|
if (!ChildThreadImpl::current()) |
return; // May be null in some tests. |
ChildThreadImpl::current()->Send( |