summaryrefslogtreecommitdiffstats
path: root/chrome/browser/net
diff options
context:
space:
mode:
authorstevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-30 20:49:44 +0000
committerstevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-30 20:49:44 +0000
commit9d443f3220a36ca7258da641f9aed47290006d9e (patch)
tree61e3723486a6d67cd84b9c08ceffb37b1c5627c3 /chrome/browser/net
parentb9e898c2018c6c8f186ebfc4ec105a35f5bd4186 (diff)
downloadchromium_src-9d443f3220a36ca7258da641f9aed47290006d9e.zip
chromium_src-9d443f3220a36ca7258da641f9aed47290006d9e.tar.gz
chromium_src-9d443f3220a36ca7258da641f9aed47290006d9e.tar.bz2
Initialize token service for sync after a crash.
Also affects running chrome from the command line (e.g. debugging) BUG=chromium-os:14332 TEST=Run sync tests + test sync after crashing the browser. Review URL: http://codereview.chromium.org/7276058 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91195 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/net')
-rw-r--r--chrome/browser/net/gaia/token_service.cc9
-rw-r--r--chrome/browser/net/gaia/token_service.h3
2 files changed, 9 insertions, 3 deletions
diff --git a/chrome/browser/net/gaia/token_service.cc b/chrome/browser/net/gaia/token_service.cc
index 98a07da..7069165 100644
--- a/chrome/browser/net/gaia/token_service.cc
+++ b/chrome/browser/net/gaia/token_service.cc
@@ -101,18 +101,21 @@ void TokenService::UpdateCredentials(
void TokenService::LoadTokensFromDB() {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- token_loading_query_ = web_data_service_->GetAllTokens(this);
+ if (web_data_service_.get())
+ token_loading_query_ = web_data_service_->GetAllTokens(this);
}
void TokenService::SaveAuthTokenToDB(const std::string& service,
const std::string& auth_token) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- web_data_service_->SetTokenForService(service, auth_token);
+ if (web_data_service_.get())
+ web_data_service_->SetTokenForService(service, auth_token);
}
void TokenService::EraseTokensFromDB() {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- web_data_service_->RemoveAllTokens();
+ if (web_data_service_.get())
+ web_data_service_->RemoveAllTokens();
}
bool TokenService::AreCredentialsValid() const {
diff --git a/chrome/browser/net/gaia/token_service.h b/chrome/browser/net/gaia/token_service.h
index 26d41ce..63be386 100644
--- a/chrome/browser/net/gaia/token_service.h
+++ b/chrome/browser/net/gaia/token_service.h
@@ -95,6 +95,9 @@ class TokenService : public GaiaAuthConsumer,
// Typically you'd then update the credentials.
void Initialize(const char* const source, Profile* profile);
+ // Used to determine whether Initialize() has been called.
+ bool Initialized() const { return !source_.empty(); }
+
// Update the credentials in the token service.
// Afterwards you can StartFetchingTokens.
void UpdateCredentials(