| Index: chrome/browser/extensions/api/identity/identity_api.cc
|
| diff --git a/chrome/browser/extensions/api/identity/identity_api.cc b/chrome/browser/extensions/api/identity/identity_api.cc
|
| index 485711e8be8eebae06df1ae73b4a274d067a56d3..58b61d376ff1fa3fead6e082ec4b4d841df56ac2 100644
|
| --- a/chrome/browser/extensions/api/identity/identity_api.cc
|
| +++ b/chrome/browser/extensions/api/identity/identity_api.cc
|
| @@ -393,8 +393,17 @@ void IdentityGetAuthTokenFunction::OnGetTokenFailure(
|
|
|
| #if defined(OS_CHROMEOS)
|
| void IdentityGetAuthTokenFunction::StartDeviceLoginAccessTokenRequest() {
|
| - chromeos::DeviceOAuth2TokenService* service =
|
| - chromeos::DeviceOAuth2TokenServiceFactory::Get();
|
| + chromeos::DeviceOAuth2TokenServiceFactory::Get(
|
| + base::Bind(&IdentityGetAuthTokenFunction::DidGetTokenService,
|
| + this));
|
| +}
|
| +
|
| +void IdentityGetAuthTokenFunction::DidGetTokenService(
|
| + chromeos::DeviceOAuth2TokenService* service) {
|
| + if (!service) {
|
| + CompleteFunctionWithError(identity_constants::kUserNotSignedIn);
|
| + return;
|
| + }
|
| // Since robot account refresh tokens are scoped down to [any-api] only,
|
| // request access token for [any-api] instead of login.
|
| OAuth2TokenService::ScopeSet scopes;
|
|
|