Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1409)

Unified Diff: content/browser/service_worker/service_worker_context_core.cc

Issue 788073003: Followup to transfer serviceworker state during cross site navigations too. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 9012f1d532bfc5602f4f485d77832e20dca6d9d8..91a77f3477c9556bf91e87830ab5e721521325a0 100644
--- a/content/browser/service_worker/service_worker_context_core.cc
+++ b/content/browser/service_worker/service_worker_context_core.cc
@@ -409,31 +409,28 @@ ServiceWorkerContextCore::TransferProviderHostOut(
int process_id, int provider_id) {
ProviderMap* map = GetProviderMapForProcess(process_id);
ServiceWorkerProviderHost* transferee = map->Lookup(provider_id);
- int frame_id = transferee->frame_id();
- transferee->PrepareForCrossSiteTransfer();
-
ServiceWorkerProviderHost* replacement =
new ServiceWorkerProviderHost(process_id,
- frame_id,
+ transferee->frame_id(),
provider_id,
AsWeakPtr(),
transferee->dispatcher_host());
map->Replace(provider_id, replacement);
-
+ transferee->PrepareForCrossSiteTransfer();
return make_scoped_ptr(transferee);
}
void ServiceWorkerContextCore::TransferProviderHostIn(
int new_process_id, int new_provider_id,
- scoped_ptr<ServiceWorkerProviderHost> transferree) {
+ scoped_ptr<ServiceWorkerProviderHost> transferee) {
ProviderMap* map = GetProviderMapForProcess(new_process_id);
ServiceWorkerProviderHost* temp = map->Lookup(new_provider_id);
DCHECK(temp->document_url().is_empty());
- transferree->CompleteCrossSiteTransfer(new_process_id,
- temp->frame_id(),
- new_provider_id,
- temp->dispatcher_host());
- map->Replace(new_provider_id, transferree.release());
+ transferee->CompleteCrossSiteTransfer(new_process_id,
+ temp->frame_id(),
+ new_provider_id,
+ temp->dispatcher_host());
+ map->Replace(new_provider_id, transferee.release());
delete temp;
}

Powered by Google App Engine
This is Rietveld 408576698