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 f27666efc7abae886b1838eaba08b7b4ed69fa96..2e087b26459a85969ffd42e8672c0b682521e638 100644 |
--- a/content/browser/background_fetch/background_fetch_context.cc |
+++ b/content/browser/background_fetch/background_fetch_context.cc |
@@ -5,12 +5,14 @@ |
#include "content/browser/background_fetch/background_fetch_context.h" |
#include "base/memory/ptr_util.h" |
+#include "content/browser/background_fetch/background_fetch_client_proxy.h" |
#include "content/browser/background_fetch/background_fetch_data_manager.h" |
#include "content/browser/background_fetch/background_fetch_event_dispatcher.h" |
#include "content/browser/background_fetch/background_fetch_job_controller.h" |
#include "content/browser/background_fetch/background_fetch_registration_id.h" |
#include "content/browser/service_worker/service_worker_context_wrapper.h" |
#include "content/browser/storage_partition_impl.h" |
+#include "content/public/browser/background_fetch_client.h" |
#include "content/public/browser/blob_handle.h" |
#include "content/public/browser/browser_context.h" |
#include "net/url_request/url_request_context_getter.h" |
@@ -42,8 +44,13 @@ BackgroundFetchContext::BackgroundFetchContext( |
data_manager_( |
base::MakeUnique<BackgroundFetchDataManager>(browser_context)), |
event_dispatcher_(base::MakeUnique<BackgroundFetchEventDispatcher>( |
- std::move(service_worker_context))) { |
+ std::move(service_worker_context))), |
+ client_proxy_(base::MakeUnique<BackgroundFetchClientProxy>(this)) { |
DCHECK_CURRENTLY_ON(BrowserThread::UI); |
+ BackgroundFetchClient* background_fetch_client = |
+ browser_context_->GetBackgroundFetchClient(); |
+ if (background_fetch_client) |
+ background_fetch_client->SetDelegate(client_proxy_.get()); |
} |
BackgroundFetchContext::~BackgroundFetchContext() { |
@@ -58,6 +65,7 @@ void BackgroundFetchContext::InitializeOnIOThread( |
void BackgroundFetchContext::Shutdown() { |
DCHECK_CURRENTLY_ON(BrowserThread::UI); |
+ |
BrowserThread::PostTask( |
BrowserThread::IO, FROM_HERE, |
base::Bind(&BackgroundFetchContext::ShutdownOnIO, this)); |
@@ -223,4 +231,27 @@ void BackgroundFetchContext::DeleteRegistration( |
active_fetches_.erase(registration_id); |
} |
+void BackgroundFetchContext::CleanupAllTasks() { |
+ DCHECK_CURRENTLY_ON(BrowserThread::IO); |
+ // TODO(harkness): Iterate over all tasks and cancel them. |
+} |
+ |
+void BackgroundFetchContext::CancelFetch( |
+ const BackgroundFetchRegistrationId& registration_id) { |
+ DCHECK_CURRENTLY_ON(BrowserThread::IO); |
+ // TODO(harkness): pass the command to the JobController for the given task. |
+} |
+ |
+void BackgroundFetchContext::PauseFetch( |
+ const BackgroundFetchRegistrationId& registration_id) { |
+ DCHECK_CURRENTLY_ON(BrowserThread::IO); |
+ // TODO(harkness): pass the command to the JobController for the given task. |
+} |
+ |
+void BackgroundFetchContext::ResumeFetch( |
+ const BackgroundFetchRegistrationId& registration_id) { |
+ DCHECK_CURRENTLY_ON(BrowserThread::IO); |
+ // TODO(harkness): pass the command to the JobController for the given task. |
+} |
+ |
} // namespace content |