Index: content/browser/service_worker/service_worker_request_handler.cc |
diff --git a/content/browser/service_worker/service_worker_request_handler.cc b/content/browser/service_worker/service_worker_request_handler.cc |
index 0195e32ddbd357d7cfb90cebda1a51666b373fc3..de41b7de5ac8b22d80b5ed34619b3ab2724dcf40 100644 |
--- a/content/browser/service_worker/service_worker_request_handler.cc |
+++ b/content/browser/service_worker/service_worker_request_handler.cc |
@@ -216,10 +216,14 @@ void ServiceWorkerRequestHandler::CompleteCrossSiteTransfer( |
CHECK(!IsBrowserSideNavigationEnabled()); |
if (!host_for_cross_site_transfer_.get() || !context_) |
return; |
+ if (new_provider_id == kInvalidServiceWorkerVersionId) |
alexmos
2016/06/02 23:54:47
Why is this needed?
falken
2016/06/03 08:22:05
Ah, this was needed in the earlier patch that used
|
+ return; |
DCHECK_EQ(provider_host_.get(), host_for_cross_site_transfer_.get()); |
- context_->TransferProviderHostIn(new_process_id, new_provider_id, |
- std::move(host_for_cross_site_transfer_)); |
- DCHECK_EQ(provider_host_->provider_id(), new_provider_id); |
+ if (context_->TransferProviderHostIn( |
+ new_process_id, new_provider_id, |
+ std::move(host_for_cross_site_transfer_))) { |
+ DCHECK_EQ(provider_host_->provider_id(), new_provider_id); |
+ } |
} |
void ServiceWorkerRequestHandler::MaybeCompleteCrossSiteTransferInOldProcess( |