| 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_context_core.h" | 5 #include "content/browser/service_worker/service_worker_context_core.h" |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 #include <set> | 8 #include <set> |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 663 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 674 const StatusCallback& callback) { | 674 const StatusCallback& callback) { |
| 675 job_coordinator_->AbortAll(); | 675 job_coordinator_->AbortAll(); |
| 676 storage_->DeleteAndStartOver(callback); | 676 storage_->DeleteAndStartOver(callback); |
| 677 } | 677 } |
| 678 | 678 |
| 679 std::unique_ptr<ServiceWorkerProviderHost> | 679 std::unique_ptr<ServiceWorkerProviderHost> |
| 680 ServiceWorkerContextCore::TransferProviderHostOut(int process_id, | 680 ServiceWorkerContextCore::TransferProviderHostOut(int process_id, |
| 681 int provider_id) { | 681 int provider_id) { |
| 682 ProviderMap* map = GetProviderMapForProcess(process_id); | 682 ProviderMap* map = GetProviderMapForProcess(process_id); |
| 683 ServiceWorkerProviderHost* transferee = map->Lookup(provider_id); | 683 ServiceWorkerProviderHost* transferee = map->Lookup(provider_id); |
| 684 std::unique_ptr<ServiceWorkerProviderHost> replacement = | 684 std::unique_ptr<ServiceWorkerProviderHost> provisional_host = |
| 685 transferee->PrepareForCrossSiteTransfer(); | 685 transferee->PrepareForCrossSiteTransfer(); |
| 686 return map->Replace(provider_id, std::move(replacement)); | 686 return map->Replace(provider_id, std::move(provisional_host)); |
| 687 } | 687 } |
| 688 | 688 |
| 689 void ServiceWorkerContextCore::TransferProviderHostIn( | 689 void ServiceWorkerContextCore::TransferProviderHostIn( |
| 690 int new_process_id, | 690 int new_process_id, |
| 691 int new_provider_id, | 691 int new_provider_id, |
| 692 std::unique_ptr<ServiceWorkerProviderHost> transferee) { | 692 std::unique_ptr<ServiceWorkerProviderHost> transferee) { |
| 693 ProviderMap* map = GetProviderMapForProcess(new_process_id); | 693 ProviderMap* map = GetProviderMapForProcess(new_process_id); |
| 694 ServiceWorkerProviderHost* temp = map->Lookup(new_provider_id); | 694 ServiceWorkerProviderHost* provisional_host = map->Lookup(new_provider_id); |
| 695 if (!temp) | 695 if (!provisional_host) |
| 696 return; | 696 return; |
| 697 | 697 |
| 698 DCHECK(temp->document_url().is_empty()); | 698 DCHECK(provisional_host->document_url().is_empty()); |
| 699 transferee->CompleteCrossSiteTransfer(new_process_id, | 699 transferee->CompleteCrossSiteTransfer(provisional_host); |
| 700 temp->frame_id(), | |
| 701 new_provider_id, | |
| 702 temp->provider_type(), | |
| 703 temp->dispatcher_host()); | |
| 704 map->Replace(new_provider_id, std::move(transferee)); | 700 map->Replace(new_provider_id, std::move(transferee)); |
| 705 } | 701 } |
| 706 | 702 |
| 707 void ServiceWorkerContextCore::ClearAllServiceWorkersForTest( | 703 void ServiceWorkerContextCore::ClearAllServiceWorkersForTest( |
| 708 const base::Closure& callback) { | 704 const base::Closure& callback) { |
| 709 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 705 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 710 // |callback| will be called in the destructor of |helper| on the UI thread. | 706 // |callback| will be called in the destructor of |helper| on the UI thread. |
| 711 scoped_refptr<ClearAllServiceWorkersHelper> helper( | 707 scoped_refptr<ClearAllServiceWorkersHelper> helper( |
| 712 new ClearAllServiceWorkersHelper(callback)); | 708 new ClearAllServiceWorkersHelper(callback)); |
| 713 if (!was_service_worker_registered_) | 709 if (!was_service_worker_registered_) |
| (...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 918 int service_worker_provider_id, | 914 int service_worker_provider_id, |
| 919 mojom::ServiceWorkerWorkerClientAssociatedPtrInfo client_ptr_info) { | 915 mojom::ServiceWorkerWorkerClientAssociatedPtrInfo client_ptr_info) { |
| 920 ServiceWorkerProviderHost* provider_host = | 916 ServiceWorkerProviderHost* provider_host = |
| 921 GetProviderHost(render_process_id, service_worker_provider_id); | 917 GetProviderHost(render_process_id, service_worker_provider_id); |
| 922 if (!provider_host) | 918 if (!provider_host) |
| 923 return; | 919 return; |
| 924 provider_host->BindWorkerFetchContext(std::move(client_ptr_info)); | 920 provider_host->BindWorkerFetchContext(std::move(client_ptr_info)); |
| 925 } | 921 } |
| 926 | 922 |
| 927 } // namespace content | 923 } // namespace content |
| OLD | NEW |