OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/extensions/api/identity/identity_api.h" | 5 #include "chrome/browser/extensions/api/identity/identity_api.h" |
6 | 6 |
7 #include "base/values.h" | 7 #include "base/values.h" |
8 #include "chrome/browser/extensions/extension_function_dispatcher.h" | 8 #include "chrome/browser/extensions/extension_function_dispatcher.h" |
9 #include "chrome/browser/signin/token_service.h" | 9 #include "chrome/browser/signin/token_service.h" |
10 #include "chrome/browser/signin/token_service_factory.h" | 10 #include "chrome/browser/signin/token_service_factory.h" |
(...skipping 25 matching lines...) Expand all Loading... |
36 | 36 |
37 if (oauth2_info.scopes.size() == 0) { | 37 if (oauth2_info.scopes.size() == 0) { |
38 error_ = kInvalidScopes; | 38 error_ = kInvalidScopes; |
39 return false; | 39 return false; |
40 } | 40 } |
41 | 41 |
42 AddRef(); // Balanced in OnMintTokenSuccess|Failure. | 42 AddRef(); // Balanced in OnMintTokenSuccess|Failure. |
43 | 43 |
44 TokenService* token_service = TokenServiceFactory::GetForProfile(profile()); | 44 TokenService* token_service = TokenServiceFactory::GetForProfile(profile()); |
45 | 45 |
46 flow_.reset( | 46 flow_.reset(new OAuth2MintTokenFlow( |
47 new OAuth2MintTokenFlow(profile()->GetRequestContext(), this)); | 47 profile()->GetRequestContext(), |
48 flow_->Start(token_service->GetOAuth2LoginRefreshToken(), | 48 this, |
49 extension->id(), oauth2_info.client_id, oauth2_info.scopes); | 49 OAuth2MintTokenFlow::Parameters( |
| 50 token_service->GetOAuth2LoginRefreshToken(), |
| 51 extension->id(), |
| 52 oauth2_info.client_id, |
| 53 oauth2_info.scopes, |
| 54 OAuth2MintTokenFlow::MODE_MINT_TOKEN_FORCE))); |
| 55 flow_->Start(); |
50 | 56 |
51 return true; | 57 return true; |
52 } | 58 } |
53 | 59 |
54 void GetAuthTokenFunction::OnMintTokenSuccess(const std::string& access_token) { | 60 void GetAuthTokenFunction::OnMintTokenSuccess(const std::string& access_token) { |
55 result_.reset(Value::CreateStringValue(access_token)); | 61 result_.reset(Value::CreateStringValue(access_token)); |
56 SendResponse(true); | 62 SendResponse(true); |
57 Release(); // Balanced in RunImpl. | 63 Release(); // Balanced in RunImpl. |
58 } | 64 } |
59 | 65 |
60 void GetAuthTokenFunction::OnMintTokenFailure( | 66 void GetAuthTokenFunction::OnMintTokenFailure( |
61 const GoogleServiceAuthError& error) { | 67 const GoogleServiceAuthError& error) { |
62 error_ = error.ToString(); | 68 error_ = error.ToString(); |
63 SendResponse(false); | 69 SendResponse(false); |
64 Release(); // Balanced in RunImpl. | 70 Release(); // Balanced in RunImpl. |
65 } | 71 } |
66 | 72 |
67 } // namespace extensions | 73 } // namespace extensions |
OLD | NEW |