Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(388)

Unified Diff: google_apis/gaia/fake_oauth2_token_service_delegate.cc

Issue 1143323005: Refactor AO2TS to make it easier to componentize. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address final comments Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « google_apis/gaia/fake_oauth2_token_service_delegate.h ('k') | google_apis/gaia/oauth2_token_service.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: google_apis/gaia/fake_oauth2_token_service_delegate.cc
diff --git a/google_apis/gaia/fake_oauth2_token_service_delegate.cc b/google_apis/gaia/fake_oauth2_token_service_delegate.cc
new file mode 100644
index 0000000000000000000000000000000000000000..580025ceeb07fa2b98aacc4c502be42177bae27b
--- /dev/null
+++ b/google_apis/gaia/fake_oauth2_token_service_delegate.cc
@@ -0,0 +1,93 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "google_apis/gaia/fake_oauth2_token_service_delegate.h"
+#include "google_apis/gaia/oauth2_access_token_fetcher_impl.h"
+
+FakeOAuth2TokenServiceDelegate::FakeOAuth2TokenServiceDelegate(
+ net::URLRequestContextGetter* request_context)
+ : request_context_(request_context) {
+}
+
+FakeOAuth2TokenServiceDelegate::~FakeOAuth2TokenServiceDelegate() {
+}
+
+OAuth2AccessTokenFetcher*
+FakeOAuth2TokenServiceDelegate::CreateAccessTokenFetcher(
+ const std::string& account_id,
+ net::URLRequestContextGetter* getter,
+ OAuth2AccessTokenConsumer* consumer) {
+ std::map<std::string, std::string>::const_iterator it =
+ refresh_tokens_.find(account_id);
+ DCHECK(it != refresh_tokens_.end());
+ std::string refresh_token(it->second);
+ return new OAuth2AccessTokenFetcherImpl(consumer, getter, refresh_token);
+}
+
+bool FakeOAuth2TokenServiceDelegate::RefreshTokenIsAvailable(
+ const std::string& account_id) const {
+ return !GetRefreshToken(account_id).empty();
+}
+
+std::string FakeOAuth2TokenServiceDelegate::GetRefreshToken(
+ const std::string& account_id) const {
+ std::map<std::string, std::string>::const_iterator it =
+ refresh_tokens_.find(account_id);
+ if (it != refresh_tokens_.end())
+ return it->second;
+ return std::string();
+}
+
+std::vector<std::string> FakeOAuth2TokenServiceDelegate::GetAccounts() {
+ std::vector<std::string> account_ids;
+ for (std::map<std::string, std::string>::const_iterator iter =
+ refresh_tokens_.begin();
+ iter != refresh_tokens_.end(); ++iter) {
+ account_ids.push_back(iter->first);
+ }
+ return account_ids;
+}
+
+void FakeOAuth2TokenServiceDelegate::RevokeAllCredentials() {
+ std::vector<std::string> account_ids = GetAccounts();
+ for (std::vector<std::string>::const_iterator it = account_ids.begin();
+ it != account_ids.end(); it++) {
+ RevokeCredentials(*it);
+ }
+}
+
+void FakeOAuth2TokenServiceDelegate::LoadCredentials(
+ const std::string& primary_account_id) {
+ FireRefreshTokensLoaded();
+}
+
+void FakeOAuth2TokenServiceDelegate::UpdateCredentials(
+ const std::string& account_id,
+ const std::string& refresh_token) {
+ IssueRefreshTokenForUser(account_id, refresh_token);
+}
+
+void FakeOAuth2TokenServiceDelegate::IssueRefreshTokenForUser(
+ const std::string& account_id,
+ const std::string& token) {
+ ScopedBatchChange batch(this);
+ if (token.empty()) {
+ refresh_tokens_.erase(account_id);
+ FireRefreshTokenRevoked(account_id);
+ } else {
+ refresh_tokens_[account_id] = token;
+ FireRefreshTokenAvailable(account_id);
+ // TODO(atwilson): Maybe we should also call FireRefreshTokensLoaded() here?
+ }
+}
+
+void FakeOAuth2TokenServiceDelegate::RevokeCredentials(
+ const std::string& account_id) {
+ IssueRefreshTokenForUser(account_id, std::string());
+}
+
+net::URLRequestContextGetter*
+FakeOAuth2TokenServiceDelegate::GetRequestContext() const {
+ return request_context_.get();
+}
« no previous file with comments | « google_apis/gaia/fake_oauth2_token_service_delegate.h ('k') | google_apis/gaia/oauth2_token_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698