OLD | NEW |
---|---|
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_provider_host.h" | 5 #include "content/browser/service_worker/service_worker_provider_host.h" |
6 | 6 |
7 #include "base/stl_util.h" | 7 #include "base/stl_util.h" |
8 #include "content/browser/message_port_message_filter.h" | 8 #include "content/browser/message_port_message_filter.h" |
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_request_handler. h" | 10 #include "content/browser/service_worker/service_worker_context_request_handler. h" |
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
251 associated_patterns_.push_back(pattern); | 251 associated_patterns_.push_back(pattern); |
252 IncreaseProcessReference(pattern); | 252 IncreaseProcessReference(pattern); |
253 } | 253 } |
254 | 254 |
255 void ServiceWorkerProviderHost::PrepareForCrossSiteTransfer() { | 255 void ServiceWorkerProviderHost::PrepareForCrossSiteTransfer() { |
256 DCHECK_NE(ChildProcessHost::kInvalidUniqueID, render_process_id_); | 256 DCHECK_NE(ChildProcessHost::kInvalidUniqueID, render_process_id_); |
257 | 257 |
258 for (const GURL& pattern : associated_patterns_) | 258 for (const GURL& pattern : associated_patterns_) |
259 DecreaseProcessReference(pattern); | 259 DecreaseProcessReference(pattern); |
260 | 260 |
261 if (associated_registration_.get()) | 261 if (associated_registration_.get()) { |
262 DecreaseProcessReference(associated_registration_->pattern()); | 262 DecreaseProcessReference(associated_registration_->pattern()); |
263 if (dispatcher_host_) { | |
264 dispatcher_host_->Send(new ServiceWorkerMsg_DisassociateRegistration( | |
michaeln
2014/12/12 01:22:17
This is what i had messed up, not disassociating t
| |
265 kDocumentMainThreadId, provider_id())); | |
266 } | |
267 } | |
263 | 268 |
264 render_process_id_ = ChildProcessHost::kInvalidUniqueID; | 269 render_process_id_ = ChildProcessHost::kInvalidUniqueID; |
265 render_frame_id_ = MSG_ROUTING_NONE; | 270 render_frame_id_ = MSG_ROUTING_NONE; |
266 provider_id_ = kInvalidServiceWorkerProviderId; | 271 provider_id_ = kInvalidServiceWorkerProviderId; |
267 dispatcher_host_ = nullptr; | 272 dispatcher_host_ = nullptr; |
268 } | 273 } |
269 | 274 |
270 void ServiceWorkerProviderHost::CompleteCrossSiteTransfer( | 275 void ServiceWorkerProviderHost::CompleteCrossSiteTransfer( |
271 int new_process_id, | 276 int new_process_id, |
272 int new_frame_id, | 277 int new_frame_id, |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
345 context_->process_manager()->RemoveProcessReferenceFromPattern( | 350 context_->process_manager()->RemoveProcessReferenceFromPattern( |
346 pattern, render_process_id_); | 351 pattern, render_process_id_); |
347 } | 352 } |
348 } | 353 } |
349 | 354 |
350 bool ServiceWorkerProviderHost::IsContextAlive() { | 355 bool ServiceWorkerProviderHost::IsContextAlive() { |
351 return context_ != NULL; | 356 return context_ != NULL; |
352 } | 357 } |
353 | 358 |
354 } // namespace content | 359 } // namespace content |
OLD | NEW |