Chromium Code Reviews| 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( |