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"
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_
)
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_
);
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