This source file includes following definitions.
- gaia_auth_fetcher_
- OnListAccountsSuccess
- OnListAccountsFailure
#include "chrome/browser/ui/webui/chromeos/login/authenticated_user_email_retriever.h"
#include <utility>
#include <vector>
#include "google_apis/gaia/gaia_auth_util.h"
#include "google_apis/gaia/gaia_constants.h"
#include "google_apis/gaia/google_service_auth_error.h"
#include "net/url_request/url_request_context_getter.h"
namespace chromeos {
AuthenticatedUserEmailRetriever::AuthenticatedUserEmailRetriever(
const AuthenticatedUserEmailCallback& callback,
scoped_refptr<net::URLRequestContextGetter> url_request_context_getter)
: callback_(callback),
gaia_auth_fetcher_(this,
GaiaConstants::kChromeSource,
url_request_context_getter) {
gaia_auth_fetcher_.StartListAccounts();
}
AuthenticatedUserEmailRetriever::~AuthenticatedUserEmailRetriever() {
}
void AuthenticatedUserEmailRetriever::OnListAccountsSuccess(
const std::string& data) {
std::vector<std::pair<std::string, bool> > accounts;
gaia::ParseListAccountsData(data, &accounts);
if (accounts.size() != 1)
callback_.Run(std::string());
else
callback_.Run(accounts.front().first);
}
void AuthenticatedUserEmailRetriever::OnListAccountsFailure(
const GoogleServiceAuthError& error) {
callback_.Run(std::string());
}
}