Index: content/browser/background_fetch/background_fetch_context.cc |
diff --git a/content/browser/background_fetch/background_fetch_context.cc b/content/browser/background_fetch/background_fetch_context.cc |
index 21f3dcd0d3790a440166a6284f8c338c0cd3092e..ff91c2a376b459ed1dc2776857723c5e177a3a69 100644 |
--- a/content/browser/background_fetch/background_fetch_context.cc |
+++ b/content/browser/background_fetch/background_fetch_context.cc |
@@ -20,7 +20,7 @@ BackgroundFetchContext::BackgroundFetchContext( |
: browser_context_(browser_context), |
storage_partition_(storage_partition), |
service_worker_context_(service_worker_context), |
- background_fetch_data_manager_(this) { |
+ background_fetch_data_manager_(browser_context) { |
DCHECK_CURRENTLY_ON(BrowserThread::UI); |
// TODO(harkness): BackgroundFetchContext should have |
// ServiceWorkerContextObserver as a parent class and should register as an |
@@ -56,25 +56,21 @@ void BackgroundFetchContext::ShutdownOnIO() { |
void BackgroundFetchContext::CreateRequest( |
std::unique_ptr<BackgroundFetchJobInfo> job_info, |
- std::vector<BackgroundFetchRequestInfo>& request_infos) { |
+ std::vector<std::unique_ptr<BackgroundFetchRequestInfo>> request_infos) { |
DCHECK_CURRENTLY_ON(BrowserThread::IO); |
DCHECK_GE(1U, request_infos.size()); |
// Inform the data manager about the new download. |
const std::string job_guid = job_info->guid(); |
- std::unique_ptr<BackgroundFetchJobData> job_data = |
- background_fetch_data_manager_.CreateRequest(std::move(job_info), |
- request_infos); |
- |
- // If job_data is null, the DataManager will have logged an error. |
- if (job_data) { |
- // Create a controller which drives the processing of the job. It will use |
- // the JobData to get information about individual requests for the job. |
- job_map_[job_guid] = base::MakeUnique<BackgroundFetchJobController>( |
- job_guid, browser_context_, storage_partition_, std::move(job_data), |
- base::BindOnce(&BackgroundFetchContext::DidCompleteJob, this, |
- job_guid)); |
- } |
+ background_fetch_data_manager_.CreateRequest(std::move(job_info), |
+ std::move(request_infos)); |
+ |
+ // Create a controller which drives the processing of the job. It will use |
+ // the DataManager to get information about individual requests for the job. |
+ job_map_[job_guid] = base::MakeUnique<BackgroundFetchJobController>( |
+ job_guid, browser_context_, storage_partition_, |
+ &background_fetch_data_manager_, |
+ base::BindOnce(&BackgroundFetchContext::DidCompleteJob, this, job_guid)); |
} |
void BackgroundFetchContext::DidCompleteJob(const std::string& job_guid) { |