| 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 6c871e6cd55ba588518b0f856964d472c927fb2a..d755ff94aeafe88317fc2a5a770de4c6d9e40d68 100644
|
| --- a/content/browser/service_worker/service_worker_request_handler.cc
|
| +++ b/content/browser/service_worker/service_worker_request_handler.cc
|
| @@ -129,6 +129,28 @@ bool ServiceWorkerRequestHandler::IsControlledByServiceWorker(
|
| handler->provider_host_->running_hosted_version();
|
| }
|
|
|
| +void ServiceWorkerRequestHandler::PrepareForCrossSiteTransfer(
|
| + int old_process_id) {
|
| + if (!provider_host_ || !context_)
|
| + return;
|
| + host_for_cross_site_transfer_ =
|
| + context_->TransferProviderHostOut(old_process_id,
|
| + provider_host_->provider_id());
|
| + DCHECK_EQ(provider_host_.get(), host_for_cross_site_transfer_.get());
|
| +}
|
| +
|
| +void ServiceWorkerRequestHandler::CompleteCrossSiteTransfer(
|
| + int new_process_id, int new_host_id) {
|
| + if (!host_for_cross_site_transfer_.get() || !context_)
|
| + return;
|
| + DCHECK_EQ(provider_host_.get(), host_for_cross_site_transfer_.get());
|
| + context_->TransferProviderHostIn(
|
| + new_process_id,
|
| + new_host_id,
|
| + host_for_cross_site_transfer_.Pass());
|
| + DCHECK_EQ(provider_host_->provider_id(), new_host_id);
|
| +}
|
| +
|
| ServiceWorkerRequestHandler::~ServiceWorkerRequestHandler() {
|
| }
|
|
|
|
|