Index: content/browser/background_fetch/background_fetch_data_manager.cc |
diff --git a/content/browser/background_fetch/background_fetch_data_manager.cc b/content/browser/background_fetch/background_fetch_data_manager.cc |
index 3be8436f7e92f2553a133659d60944f3d632990b..588de61269176fbd7adf4b99a1f7e75bba0fc50a 100644 |
--- a/content/browser/background_fetch/background_fetch_data_manager.cc |
+++ b/content/browser/background_fetch/background_fetch_data_manager.cc |
@@ -25,29 +25,36 @@ BackgroundFetchDataManager::BackgroundFetchDataManager( |
BackgroundFetchDataManager::~BackgroundFetchDataManager() = default; |
-void BackgroundFetchDataManager::CreateRequest( |
- std::unique_ptr<BackgroundFetchJobInfo> job_info, |
- std::vector<std::unique_ptr<BackgroundFetchRequestInfo>> request_infos) { |
- BackgroundFetchRegistrationId registration_id( |
- job_info->service_worker_registration_id(), job_info->origin(), |
- job_info->tag()); |
- |
- // Ensure that this is not a duplicate request. |
- if (known_registrations_.find(registration_id) != |
- known_registrations_.end()) { |
- DVLOG(1) << "Origin " << job_info->origin() |
- << " has already created a batch request with tag " |
- << job_info->tag(); |
- // TODO(harkness) Figure out how to return errors like this. |
+void BackgroundFetchDataManager::CreateRegistration( |
+ const BackgroundFetchRegistrationId& registration_id, |
+ const std::vector<ServiceWorkerFetchRequest>& requests, |
+ const BackgroundFetchOptions& options, |
+ CreateRegistrationCallback callback) { |
+ if (registrations_.find(registration_id) != registrations_.end()) { |
+ std::move(callback).Run(blink::mojom::BackgroundFetchError::DUPLICATED_TAG); |
return; |
} |
- // Add the JobInfo to the in-memory map, and write the individual requests out |
- // to storage. |
- job_info->set_num_requests(request_infos.size()); |
- const std::string job_guid = job_info->guid(); |
- known_registrations_.insert(std::move(registration_id)); |
- WriteJobToStorage(std::move(job_info), std::move(request_infos)); |
+ registrations_.insert(registration_id); |
+ |
+ // TODO(peter): Store the |requests|. |
+ // TODO(peter): Store the |options|. |
+ |
+ std::move(callback).Run(blink::mojom::BackgroundFetchError::NONE); |
+} |
+ |
+void BackgroundFetchDataManager::DeleteRegistration( |
+ const BackgroundFetchRegistrationId& registration_id, |
+ DeleteRegistrationCallback callback) { |
+ auto iter = registrations_.find(registration_id); |
+ if (iter == registrations_.end()) { |
+ std::move(callback).Run(blink::mojom::BackgroundFetchError::INVALID_TAG); |
+ return; |
+ } |
+ |
+ registrations_.erase(iter); |
+ |
+ std::move(callback).Run(blink::mojom::BackgroundFetchError::NONE); |
} |
void BackgroundFetchDataManager::WriteJobToStorage( |