Chromium Code Reviews| 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 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 209 host_for_cross_site_transfer_ = context_->TransferProviderHostOut( | 209 host_for_cross_site_transfer_ = context_->TransferProviderHostOut( |
| 210 old_process_id, provider_host_->provider_id()); | 210 old_process_id, provider_host_->provider_id()); |
| 211 DCHECK_EQ(provider_host_.get(), host_for_cross_site_transfer_.get()); | 211 DCHECK_EQ(provider_host_.get(), host_for_cross_site_transfer_.get()); |
| 212 } | 212 } |
| 213 | 213 |
| 214 void ServiceWorkerRequestHandler::CompleteCrossSiteTransfer( | 214 void ServiceWorkerRequestHandler::CompleteCrossSiteTransfer( |
| 215 int new_process_id, int new_provider_id) { | 215 int new_process_id, int new_provider_id) { |
| 216 CHECK(!IsBrowserSideNavigationEnabled()); | 216 CHECK(!IsBrowserSideNavigationEnabled()); |
| 217 if (!host_for_cross_site_transfer_.get() || !context_) | 217 if (!host_for_cross_site_transfer_.get() || !context_) |
| 218 return; | 218 return; |
| 219 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
| |
| 220 return; | |
| 219 DCHECK_EQ(provider_host_.get(), host_for_cross_site_transfer_.get()); | 221 DCHECK_EQ(provider_host_.get(), host_for_cross_site_transfer_.get()); |
| 220 context_->TransferProviderHostIn(new_process_id, new_provider_id, | 222 if (context_->TransferProviderHostIn( |
| 221 std::move(host_for_cross_site_transfer_)); | 223 new_process_id, new_provider_id, |
| 222 DCHECK_EQ(provider_host_->provider_id(), new_provider_id); | 224 std::move(host_for_cross_site_transfer_))) { |
| 225 DCHECK_EQ(provider_host_->provider_id(), new_provider_id); | |
| 226 } | |
| 223 } | 227 } |
| 224 | 228 |
| 225 void ServiceWorkerRequestHandler::MaybeCompleteCrossSiteTransferInOldProcess( | 229 void ServiceWorkerRequestHandler::MaybeCompleteCrossSiteTransferInOldProcess( |
| 226 int old_process_id) { | 230 int old_process_id) { |
| 227 CHECK(!IsBrowserSideNavigationEnabled()); | 231 CHECK(!IsBrowserSideNavigationEnabled()); |
| 228 if (!host_for_cross_site_transfer_.get() || !context_ || | 232 if (!host_for_cross_site_transfer_.get() || !context_ || |
| 229 old_process_id_ != old_process_id) { | 233 old_process_id_ != old_process_id) { |
| 230 return; | 234 return; |
| 231 } | 235 } |
| 232 CompleteCrossSiteTransfer(old_process_id_, old_provider_id_); | 236 CompleteCrossSiteTransfer(old_process_id_, old_provider_id_); |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 249 ResourceType resource_type) | 253 ResourceType resource_type) |
| 250 : context_(context), | 254 : context_(context), |
| 251 provider_host_(provider_host), | 255 provider_host_(provider_host), |
| 252 blob_storage_context_(blob_storage_context), | 256 blob_storage_context_(blob_storage_context), |
| 253 resource_type_(resource_type), | 257 resource_type_(resource_type), |
| 254 old_process_id_(0), | 258 old_process_id_(0), |
| 255 old_provider_id_(kInvalidServiceWorkerProviderId) { | 259 old_provider_id_(kInvalidServiceWorkerProviderId) { |
| 256 } | 260 } |
| 257 | 261 |
| 258 } // namespace content | 262 } // namespace content |
| OLD | NEW |