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 |