Refactor AO2TS to make it easier to componentize
[chromium-blink-merge.git] / extensions / shell / browser / shell_oauth2_token_service_delegate.cc
blob89eb2120447028e417e22256bded7dcdc1020ad4
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "extensions/shell/browser/shell_oauth2_token_service_delegate.h"
7 #include <vector>
9 namespace extensions {
11 ShellOAuth2TokenServiceDelegate::ShellOAuth2TokenServiceDelegate(
12 content::BrowserContext* browser_context,
13 std::string account_id,
14 std::string refresh_token)
15 : browser_context_(browser_context),
16 account_id_(account_id),
17 refresh_token_(refresh_token) {
20 ShellOAuth2TokenServiceDelegate::~ShellOAuth2TokenServiceDelegate() {
23 bool ShellOAuth2TokenServiceDelegate::RefreshTokenIsAvailable(
24 const std::string& account_id) const {
25 if (account_id != account_id_)
26 return false;
28 return !refresh_token_.empty();
31 OAuth2AccessTokenFetcher*
32 ShellOAuth2TokenServiceDelegate::CreateAccessTokenFetcher(
33 const std::string& account_id,
34 net::URLRequestContextGetter* getter,
35 OAuth2AccessTokenConsumer* consumer) {
36 DCHECK_EQ(account_id, account_id_);
37 DCHECK(!refresh_token_.empty());
38 return new OAuth2AccessTokenFetcherImpl(consumer, getter, refresh_token_);
41 net::URLRequestContextGetter*
42 ShellOAuth2TokenServiceDelegate::GetRequestContext() const {
43 return browser_context_->GetRequestContext();
46 std::vector<std::string> ShellOAuth2TokenServiceDelegate::GetAccounts() {
47 std::vector<std::string> accounts;
48 accounts.push_back(account_id_);
49 return accounts;
52 void ShellOAuth2TokenServiceDelegate::UpdateCredentials(
53 const std::string& account_id,
54 const std::string& refresh_token) {
55 account_id_ = account_id;
56 refresh_token_ = refresh_token;
59 } // namespace extensions