| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/background_sync/background_sync_manager.h" | 5 #include "content/browser/background_sync/background_sync_manager.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/barrier_closure.h" | 9 #include "base/barrier_closure.h" |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 749 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 760 void BackgroundSyncManager::GetDataFromBackend( | 760 void BackgroundSyncManager::GetDataFromBackend( |
| 761 const std::string& backend_key, | 761 const std::string& backend_key, |
| 762 const ServiceWorkerStorage::GetUserDataForAllRegistrationsCallback& | 762 const ServiceWorkerStorage::GetUserDataForAllRegistrationsCallback& |
| 763 callback) { | 763 callback) { |
| 764 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 764 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 765 | 765 |
| 766 service_worker_context_->GetUserDataForAllRegistrations(backend_key, | 766 service_worker_context_->GetUserDataForAllRegistrations(backend_key, |
| 767 callback); | 767 callback); |
| 768 } | 768 } |
| 769 | 769 |
| 770 void BackgroundSyncManager::FireOneShotSync( | 770 void BackgroundSyncManager::DispatchSyncEvent( |
| 771 BackgroundSyncRegistrationHandle::HandleId handle_id, | 771 BackgroundSyncRegistrationHandle::HandleId handle_id, |
| 772 const scoped_refptr<ServiceWorkerVersion>& active_version, | 772 const scoped_refptr<ServiceWorkerVersion>& active_version, |
| 773 BackgroundSyncEventLastChance last_chance, | 773 BackgroundSyncEventLastChance last_chance, |
| 774 const ServiceWorkerVersion::StatusCallback& callback) { | 774 const ServiceWorkerVersion::StatusCallback& callback) { |
| 775 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 775 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 776 DCHECK(active_version); | 776 DCHECK(active_version); |
| 777 | 777 |
| 778 if (active_version->running_status() != ServiceWorkerVersion::RUNNING) { | 778 if (active_version->running_status() != ServiceWorkerVersion::RUNNING) { |
| 779 active_version->RunAfterStartWorker( | 779 active_version->RunAfterStartWorker( |
| 780 base::Bind(&BackgroundSyncManager::FireOneShotSync, | 780 base::Bind(&BackgroundSyncManager::DispatchSyncEvent, |
| 781 weak_ptr_factory_.GetWeakPtr(), handle_id, active_version, | 781 weak_ptr_factory_.GetWeakPtr(), handle_id, active_version, |
| 782 last_chance, callback), | 782 last_chance, callback), |
| 783 callback); | 783 callback); |
| 784 return; | 784 return; |
| 785 } | 785 } |
| 786 | 786 |
| 787 int request_id = active_version->StartRequestWithCustomTimeout( | 787 int request_id = active_version->StartRequestWithCustomTimeout( |
| 788 ServiceWorkerMetrics::EventType::SYNC, callback, | 788 ServiceWorkerMetrics::EventType::SYNC, callback, |
| 789 parameters_->max_sync_event_duration, | 789 parameters_->max_sync_event_duration, |
| 790 ServiceWorkerVersion::CONTINUE_ON_TIMEOUT); | 790 ServiceWorkerVersion::CONTINUE_ON_TIMEOUT); |
| (...skipping 432 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1223 BackgroundSyncEventLastChance last_chance = | 1223 BackgroundSyncEventLastChance last_chance = |
| 1224 registration->value()->num_attempts() == | 1224 registration->value()->num_attempts() == |
| 1225 parameters_->max_sync_attempts - 1 | 1225 parameters_->max_sync_attempts - 1 |
| 1226 ? BackgroundSyncEventLastChance::IS_LAST_CHANCE | 1226 ? BackgroundSyncEventLastChance::IS_LAST_CHANCE |
| 1227 : BackgroundSyncEventLastChance::IS_NOT_LAST_CHANCE; | 1227 : BackgroundSyncEventLastChance::IS_NOT_LAST_CHANCE; |
| 1228 | 1228 |
| 1229 HasMainFrameProviderHost( | 1229 HasMainFrameProviderHost( |
| 1230 service_worker_registration->pattern().GetOrigin(), | 1230 service_worker_registration->pattern().GetOrigin(), |
| 1231 base::Bind(&BackgroundSyncMetrics::RecordEventStarted)); | 1231 base::Bind(&BackgroundSyncMetrics::RecordEventStarted)); |
| 1232 | 1232 |
| 1233 FireOneShotSync( | 1233 DispatchSyncEvent( |
| 1234 handle_id, service_worker_registration->active_version(), last_chance, | 1234 handle_id, service_worker_registration->active_version(), last_chance, |
| 1235 base::Bind(&BackgroundSyncManager::EventComplete, | 1235 base::Bind(&BackgroundSyncManager::EventComplete, |
| 1236 weak_ptr_factory_.GetWeakPtr(), service_worker_registration, | 1236 weak_ptr_factory_.GetWeakPtr(), service_worker_registration, |
| 1237 service_worker_registration->id(), | 1237 service_worker_registration->id(), |
| 1238 base::Passed(std::move(registration_handle)), | 1238 base::Passed(std::move(registration_handle)), |
| 1239 event_completed_callback)); | 1239 event_completed_callback)); |
| 1240 | 1240 |
| 1241 base::ThreadTaskRunnerHandle::Get()->PostTask( | 1241 base::ThreadTaskRunnerHandle::Get()->PostTask( |
| 1242 FROM_HERE, base::Bind(event_fired_callback)); | 1242 FROM_HERE, base::Bind(event_fired_callback)); |
| 1243 } | 1243 } |
| (...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1487 BackgroundSyncManager::MakeStatusCompletion(const StatusCallback& callback) { | 1487 BackgroundSyncManager::MakeStatusCompletion(const StatusCallback& callback) { |
| 1488 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 1488 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 1489 | 1489 |
| 1490 return base::Bind( | 1490 return base::Bind( |
| 1491 &BackgroundSyncManager::CompleteOperationCallback<StatusCallback, | 1491 &BackgroundSyncManager::CompleteOperationCallback<StatusCallback, |
| 1492 BackgroundSyncStatus>, | 1492 BackgroundSyncStatus>, |
| 1493 weak_ptr_factory_.GetWeakPtr(), callback); | 1493 weak_ptr_factory_.GetWeakPtr(), callback); |
| 1494 } | 1494 } |
| 1495 | 1495 |
| 1496 } // namespace content | 1496 } // namespace content |
| OLD | NEW |