| Index: trunk/src/chrome/browser/signin/oauth2_token_service.cc
|
| ===================================================================
|
| --- trunk/src/chrome/browser/signin/oauth2_token_service.cc (revision 203118)
|
| +++ trunk/src/chrome/browser/signin/oauth2_token_service.cc (working copy)
|
| @@ -303,6 +303,18 @@
|
| return !GetRefreshToken().empty();
|
| }
|
|
|
| +// static
|
| +void OAuth2TokenService::InformConsumer(
|
| + base::WeakPtr<OAuth2TokenService::RequestImpl> request,
|
| + const GoogleServiceAuthError& error,
|
| + const std::string& access_token,
|
| + const base::Time& expiration_date) {
|
| + DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
|
| +
|
| + if (request)
|
| + request->InformConsumer(error, access_token, expiration_date);
|
| +}
|
| +
|
| scoped_ptr<OAuth2TokenService::Request> OAuth2TokenService::StartRequest(
|
| const OAuth2TokenService::ScopeSet& scopes,
|
| OAuth2TokenService::Consumer* consumer) {
|
| @@ -313,7 +325,7 @@
|
| std::string refresh_token = GetRefreshToken();
|
| if (refresh_token.empty()) {
|
| base::MessageLoop::current()->PostTask(FROM_HERE, base::Bind(
|
| - &RequestImpl::InformConsumer,
|
| + &OAuth2TokenService::InformConsumer,
|
| request->AsWeakPtr(),
|
| GoogleServiceAuthError(
|
| GoogleServiceAuthError::USER_NOT_SIGNED_UP),
|
| @@ -349,7 +361,7 @@
|
| const CacheEntry* cache_entry = GetCacheEntry(scopes);
|
| scoped_ptr<RequestImpl> request(new RequestImpl(consumer));
|
| base::MessageLoop::current()->PostTask(FROM_HERE, base::Bind(
|
| - &RequestImpl::InformConsumer,
|
| + &OAuth2TokenService::InformConsumer,
|
| request->AsWeakPtr(),
|
| GoogleServiceAuthError(GoogleServiceAuthError::NONE),
|
| cache_entry->access_token,
|
| @@ -428,7 +440,7 @@
|
| const std::string& token_to_remove) {
|
| DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
|
| TokenCache::iterator token_iterator = token_cache_.find(scopes);
|
| - if (token_iterator != token_cache_.end() &&
|
| + if (token_iterator == token_cache_.end() &&
|
| token_iterator->second.access_token == token_to_remove) {
|
| token_cache_.erase(token_iterator);
|
| return true;
|
|
|