| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/browser/service_worker/service_worker_request_handler.h" | 5 #include "content/browser/service_worker/service_worker_request_handler.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "content/browser/service_worker/service_worker_context_core.h" | 9 #include "content/browser/service_worker/service_worker_context_core.h" |
| 10 #include "content/browser/service_worker/service_worker_context_wrapper.h" | 10 #include "content/browser/service_worker/service_worker_context_wrapper.h" |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 122 | 122 |
| 123 bool ServiceWorkerRequestHandler::IsControlledByServiceWorker( | 123 bool ServiceWorkerRequestHandler::IsControlledByServiceWorker( |
| 124 net::URLRequest* request) { | 124 net::URLRequest* request) { |
| 125 ServiceWorkerRequestHandler* handler = GetHandler(request); | 125 ServiceWorkerRequestHandler* handler = GetHandler(request); |
| 126 if (!handler || !handler->provider_host_) | 126 if (!handler || !handler->provider_host_) |
| 127 return false; | 127 return false; |
| 128 return handler->provider_host_->associated_registration() || | 128 return handler->provider_host_->associated_registration() || |
| 129 handler->provider_host_->running_hosted_version(); | 129 handler->provider_host_->running_hosted_version(); |
| 130 } | 130 } |
| 131 | 131 |
| 132 void ServiceWorkerRequestHandler::PrepareForCrossSiteTransfer( |
| 133 int old_process_id) { |
| 134 if (!provider_host_ || !context_) |
| 135 return; |
| 136 host_for_cross_site_transfer_ = |
| 137 context_->TransferProviderHostOut(old_process_id, |
| 138 provider_host_->provider_id()); |
| 139 DCHECK_EQ(provider_host_.get(), host_for_cross_site_transfer_.get()); |
| 140 } |
| 141 |
| 142 void ServiceWorkerRequestHandler::CompleteCrossSiteTransfer( |
| 143 int new_process_id, int new_host_id) { |
| 144 if (!host_for_cross_site_transfer_.get() || !context_) |
| 145 return; |
| 146 DCHECK_EQ(provider_host_.get(), host_for_cross_site_transfer_.get()); |
| 147 context_->TransferProviderHostIn( |
| 148 new_process_id, |
| 149 new_host_id, |
| 150 host_for_cross_site_transfer_.Pass()); |
| 151 DCHECK_EQ(provider_host_->provider_id(), new_host_id); |
| 152 } |
| 153 |
| 132 ServiceWorkerRequestHandler::~ServiceWorkerRequestHandler() { | 154 ServiceWorkerRequestHandler::~ServiceWorkerRequestHandler() { |
| 133 } | 155 } |
| 134 | 156 |
| 135 ServiceWorkerRequestHandler::ServiceWorkerRequestHandler( | 157 ServiceWorkerRequestHandler::ServiceWorkerRequestHandler( |
| 136 base::WeakPtr<ServiceWorkerContextCore> context, | 158 base::WeakPtr<ServiceWorkerContextCore> context, |
| 137 base::WeakPtr<ServiceWorkerProviderHost> provider_host, | 159 base::WeakPtr<ServiceWorkerProviderHost> provider_host, |
| 138 base::WeakPtr<storage::BlobStorageContext> blob_storage_context, | 160 base::WeakPtr<storage::BlobStorageContext> blob_storage_context, |
| 139 ResourceType resource_type) | 161 ResourceType resource_type) |
| 140 : context_(context), | 162 : context_(context), |
| 141 provider_host_(provider_host), | 163 provider_host_(provider_host), |
| 142 blob_storage_context_(blob_storage_context), | 164 blob_storage_context_(blob_storage_context), |
| 143 resource_type_(resource_type) { | 165 resource_type_(resource_type) { |
| 144 } | 166 } |
| 145 | 167 |
| 146 } // namespace content | 168 } // namespace content |
| OLD | NEW |