diff options
author | jkarlin <jkarlin@chromium.org> | 2015-04-17 13:31:33 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-04-17 20:32:27 +0000 |
commit | f2c1c5edcb79315410aee18d17b6a193104ea2f2 (patch) | |
tree | 24f520b6d8b7579bc6b097ad6b8114fb35e9a9ff /content/browser/background_sync/background_sync_manager.cc | |
parent | f3e19a5ac737426e91d4307055f9b38e275865d6 (diff) | |
download | chromium_src-f2c1c5edcb79315410aee18d17b6a193104ea2f2.zip chromium_src-f2c1c5edcb79315410aee18d17b6a193104ea2f2.tar.gz chromium_src-f2c1c5edcb79315410aee18d17b6a193104ea2f2.tar.bz2 |
[BackgroundSyncManager] Add a network connection observer
Adds a BackgroundSyncNetworkObserver class to notify
BackgroundSyncManager when the network connection has changed and to
test whether a registration has met the necessary network conditions
to run.
BUG=477366
Review URL: https://codereview.chromium.org/1090913002
Cr-Commit-Position: refs/heads/master@{#325703}
Diffstat (limited to 'content/browser/background_sync/background_sync_manager.cc')
-rw-r--r-- | content/browser/background_sync/background_sync_manager.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/content/browser/background_sync/background_sync_manager.cc b/content/browser/background_sync/background_sync_manager.cc index 4b679bc..6fb33bf 100644 --- a/content/browser/background_sync/background_sync_manager.cc +++ b/content/browser/background_sync/background_sync_manager.cc @@ -6,6 +6,7 @@ #include "base/barrier_closure.h" #include "base/bind.h" +#include "content/browser/background_sync/background_sync_network_observer.h" #include "content/browser/service_worker/service_worker_context_wrapper.h" #include "content/browser/service_worker/service_worker_storage.h" #include "content/public/browser/browser_thread.h" @@ -45,6 +46,8 @@ scoped_ptr<BackgroundSyncManager> BackgroundSyncManager::Create( } BackgroundSyncManager::~BackgroundSyncManager() { + DCHECK_CURRENTLY_ON(BrowserThread::IO); + service_worker_context_->RemoveObserver(this); } @@ -155,6 +158,10 @@ BackgroundSyncManager::BackgroundSyncManager( disabled_(false), weak_ptr_factory_(this) { service_worker_context_->AddObserver(this); + + network_observer_.reset(new BackgroundSyncNetworkObserver( + base::Bind(&BackgroundSyncManager::OnNetworkChanged, + weak_ptr_factory_.GetWeakPtr()))); } void BackgroundSyncManager::Init() { @@ -537,6 +544,11 @@ void BackgroundSyncManager::OnStorageWipedImpl(const base::Closure& callback) { InitImpl(callback); } +void BackgroundSyncManager::OnNetworkChanged() { + // TODO(jkarlin): Run the scheduling algorithm here if initialized and not + // disabled. +} + void BackgroundSyncManager::PendingStatusAndRegistrationCallback( const StatusAndRegistrationCallback& callback, ErrorType error, |