Chromium Code Reviews| Index: content/browser/background_sync/background_sync_manager.cc |
| diff --git a/content/browser/background_sync/background_sync_manager.cc b/content/browser/background_sync/background_sync_manager.cc |
| index a23792f161076cfa4f7ef3f3039c9a3688408ba7..9bfa52e87926357a7276b55fae0fce21d49fa06c 100644 |
| --- a/content/browser/background_sync/background_sync_manager.cc |
| +++ b/content/browser/background_sync/background_sync_manager.cc |
| @@ -62,7 +62,6 @@ BackgroundSyncManager::RegistrationKey::RegistrationKey( |
| } |
| void BackgroundSyncManager::Register( |
| - const GURL& origin, |
| int64 sw_registration_id, |
| const BackgroundSyncRegistration& sync_registration, |
| const StatusAndRegistrationCallback& callback) { |
| @@ -79,12 +78,11 @@ void BackgroundSyncManager::Register( |
| op_scheduler_.ScheduleOperation(base::Bind( |
| &BackgroundSyncManager::RegisterImpl, weak_ptr_factory_.GetWeakPtr(), |
| - origin, sw_registration_id, sync_registration, |
| + sw_registration_id, sync_registration, |
| MakeStatusAndRegistrationCompletion(callback))); |
| } |
| void BackgroundSyncManager::Unregister( |
| - const GURL& origin, |
| int64 sw_registration_id, |
| const std::string& sync_registration_tag, |
| SyncPeriodicity periodicity, |
| @@ -102,12 +100,11 @@ void BackgroundSyncManager::Unregister( |
| op_scheduler_.ScheduleOperation(base::Bind( |
| &BackgroundSyncManager::UnregisterImpl, weak_ptr_factory_.GetWeakPtr(), |
| - origin, sw_registration_id, registration_key, sync_registration_id, |
| + sw_registration_id, registration_key, sync_registration_id, |
| MakeStatusCompletion(callback))); |
| } |
| void BackgroundSyncManager::GetRegistration( |
| - const GURL& origin, |
| int64 sw_registration_id, |
| const std::string sync_registration_tag, |
| SyncPeriodicity periodicity, |
| @@ -125,8 +122,8 @@ void BackgroundSyncManager::GetRegistration( |
| op_scheduler_.ScheduleOperation(base::Bind( |
| &BackgroundSyncManager::GetRegistrationImpl, |
| - weak_ptr_factory_.GetWeakPtr(), origin, sw_registration_id, |
| - registration_key, MakeStatusAndRegistrationCompletion(callback))); |
| + weak_ptr_factory_.GetWeakPtr(), sw_registration_id, registration_key, |
| + MakeStatusAndRegistrationCompletion(callback))); |
| } |
| void BackgroundSyncManager::OnRegistrationDeleted(int64 registration_id, |
| @@ -248,7 +245,6 @@ void BackgroundSyncManager::InitDidGetDataFromBackend( |
| } |
| void BackgroundSyncManager::RegisterImpl( |
| - const GURL& origin, |
| int64 sw_registration_id, |
| const BackgroundSyncRegistration& sync_registration, |
| const StatusAndRegistrationCallback& callback) { |
| @@ -273,7 +269,18 @@ void BackgroundSyncManager::RegisterImpl( |
| &sw_to_registrations_map_[sw_registration_id]; |
| new_registration.id = registrations->next_id++; |
| - AddRegistrationToMap(sw_registration_id, origin, new_registration); |
| + ServiceWorkerRegistration* sw_registration = |
| + service_worker_context_->GetLiveRegistration(sw_registration_id); |
| + if (!sw_registration || !sw_registration->active_version()) { |
| + base::MessageLoop::current()->PostTask( |
| + FROM_HERE, base::Bind(callback, ERROR_TYPE_NO_SERVICE_WORKER, |
| + BackgroundSyncRegistration())); |
| + return; |
| + } |
| + |
| + AddRegistrationToMap(sw_registration_id, |
| + sw_registration->pattern().GetOrigin(), |
|
jsbell
2015/04/28 20:52:33
It seems to me we should probably have ServiceWork
|
| + new_registration); |
| StoreRegistrations( |
| sw_registration_id, |
| @@ -454,7 +461,6 @@ void BackgroundSyncManager::GetDataFromBackend( |
| } |
| void BackgroundSyncManager::UnregisterImpl( |
| - const GURL& origin, |
| int64 sw_registration_id, |
| const RegistrationKey& registration_key, |
| BackgroundSyncRegistration::RegistrationId sync_registration_id, |
| @@ -506,7 +512,6 @@ void BackgroundSyncManager::UnregisterDidStore( |
| } |
| void BackgroundSyncManager::GetRegistrationImpl( |
| - const GURL& origin, |
| int64 sw_registration_id, |
| const RegistrationKey& registration_key, |
| const StatusAndRegistrationCallback& callback) { |