Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(149)

Side by Side Diff: google_apis/gaia/gaia_auth_fetcher.cc

Issue 57363003: Enable account reconcilor when --new-profile-management is used. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix unsigned check in tests again Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 "google_apis/gaia/gaia_auth_fetcher.h" 5 #include "google_apis/gaia/gaia_auth_fetcher.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 source_(source), 175 source_(source),
176 client_login_gurl_(GaiaUrls::GetInstance()->client_login_url()), 176 client_login_gurl_(GaiaUrls::GetInstance()->client_login_url()),
177 issue_auth_token_gurl_(GaiaUrls::GetInstance()->issue_auth_token_url()), 177 issue_auth_token_gurl_(GaiaUrls::GetInstance()->issue_auth_token_url()),
178 oauth2_token_gurl_(GaiaUrls::GetInstance()->oauth2_token_url()), 178 oauth2_token_gurl_(GaiaUrls::GetInstance()->oauth2_token_url()),
179 oauth2_revoke_gurl_(GaiaUrls::GetInstance()->oauth2_revoke_url()), 179 oauth2_revoke_gurl_(GaiaUrls::GetInstance()->oauth2_revoke_url()),
180 get_user_info_gurl_(GaiaUrls::GetInstance()->get_user_info_url()), 180 get_user_info_gurl_(GaiaUrls::GetInstance()->get_user_info_url()),
181 merge_session_gurl_(GaiaUrls::GetInstance()->merge_session_url()), 181 merge_session_gurl_(GaiaUrls::GetInstance()->merge_session_url()),
182 uberauth_token_gurl_(GaiaUrls::GetInstance()->oauth1_login_url().Resolve( 182 uberauth_token_gurl_(GaiaUrls::GetInstance()->oauth1_login_url().Resolve(
183 base::StringPrintf(kUberAuthTokenURLFormat, source.c_str()))), 183 base::StringPrintf(kUberAuthTokenURLFormat, source.c_str()))),
184 oauth_login_gurl_(GaiaUrls::GetInstance()->oauth1_login_url()), 184 oauth_login_gurl_(GaiaUrls::GetInstance()->oauth1_login_url()),
185 list_accounts_gurl_(GaiaUrls::GetInstance()->list_accounts_url()),
185 client_login_to_oauth2_gurl_( 186 client_login_to_oauth2_gurl_(
186 GaiaUrls::GetInstance()->client_login_to_oauth2_url()), 187 GaiaUrls::GetInstance()->client_login_to_oauth2_url()),
187 fetch_pending_(false) {} 188 fetch_pending_(false) {}
188 189
189 GaiaAuthFetcher::~GaiaAuthFetcher() {} 190 GaiaAuthFetcher::~GaiaAuthFetcher() {}
190 191
191 bool GaiaAuthFetcher::HasPendingFetch() { 192 bool GaiaAuthFetcher::HasPendingFetch() {
192 return fetch_pending_; 193 return fetch_pending_;
193 } 194 }
194 195
(...skipping 457 matching lines...) Expand 10 before | Expand all | Expand 10 after
652 fetcher_.reset(CreateGaiaFetcher(getter_, 653 fetcher_.reset(CreateGaiaFetcher(getter_,
653 request_body_, 654 request_body_,
654 authentication_header, 655 authentication_header,
655 oauth_login_gurl_, 656 oauth_login_gurl_,
656 kLoadFlagsIgnoreCookies, 657 kLoadFlagsIgnoreCookies,
657 this)); 658 this));
658 fetch_pending_ = true; 659 fetch_pending_ = true;
659 fetcher_->Start(); 660 fetcher_->Start();
660 } 661 }
661 662
663 void GaiaAuthFetcher::StartListAccounts() {
664 DCHECK(!fetch_pending_) << "Tried to fetch two things at once!";
665
666 fetcher_.reset(CreateGaiaFetcher(getter_,
667 " ", // To force an HTTP POST.
668 "Origin: https://www.google.com",
669 list_accounts_gurl_,
670 net::LOAD_NORMAL,
671 this));
672 fetch_pending_ = true;
673 fetcher_->Start();
674 }
675
662 // static 676 // static
663 GoogleServiceAuthError GaiaAuthFetcher::GenerateAuthError( 677 GoogleServiceAuthError GaiaAuthFetcher::GenerateAuthError(
664 const std::string& data, 678 const std::string& data,
665 const net::URLRequestStatus& status) { 679 const net::URLRequestStatus& status) {
666 if (!status.is_success()) { 680 if (!status.is_success()) {
667 if (status.status() == net::URLRequestStatus::CANCELED) { 681 if (status.status() == net::URLRequestStatus::CANCELED) {
668 return GoogleServiceAuthError(GoogleServiceAuthError::REQUEST_CANCELED); 682 return GoogleServiceAuthError(GoogleServiceAuthError::REQUEST_CANCELED);
669 } else { 683 } else {
670 DLOG(WARNING) << "Could not reach Google Accounts servers: errno " 684 DLOG(WARNING) << "Could not reach Google Accounts servers: errno "
671 << status.error(); 685 << status.error();
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
837 } 851 }
838 } 852 }
839 853
840 void GaiaAuthFetcher::OnOAuth2RevokeTokenFetched( 854 void GaiaAuthFetcher::OnOAuth2RevokeTokenFetched(
841 const std::string& data, 855 const std::string& data,
842 const net::URLRequestStatus& status, 856 const net::URLRequestStatus& status,
843 int response_code) { 857 int response_code) {
844 consumer_->OnOAuth2RevokeTokenCompleted(); 858 consumer_->OnOAuth2RevokeTokenCompleted();
845 } 859 }
846 860
861 void GaiaAuthFetcher::OnListAccountsFetched(const std::string& data,
862 const net::URLRequestStatus& status,
863 int response_code) {
864 if (status.is_success() && response_code == net::HTTP_OK) {
865 consumer_->OnListAccountsSuccess(data);
866 } else {
867 consumer_->OnListAccountsFailure(GenerateAuthError(data, status));
868 }
869 }
870
847 void GaiaAuthFetcher::OnGetUserInfoFetched( 871 void GaiaAuthFetcher::OnGetUserInfoFetched(
848 const std::string& data, 872 const std::string& data,
849 const net::URLRequestStatus& status, 873 const net::URLRequestStatus& status,
850 int response_code) { 874 int response_code) {
851 if (status.is_success() && response_code == net::HTTP_OK) { 875 if (status.is_success() && response_code == net::HTTP_OK) {
852 std::vector<std::pair<std::string, std::string> > tokens; 876 std::vector<std::pair<std::string, std::string> > tokens;
853 UserInfoMap matches; 877 UserInfoMap matches;
854 base::SplitStringIntoKeyValuePairs(data, '=', '\n', &tokens); 878 base::SplitStringIntoKeyValuePairs(data, '=', '\n', &tokens);
855 std::vector<std::pair<std::string, std::string> >::iterator i; 879 std::vector<std::pair<std::string, std::string> >::iterator i;
856 for (i = tokens.begin(); i != tokens.end(); ++i) { 880 for (i = tokens.begin(); i != tokens.end(); ++i) {
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
930 } else if (url == get_user_info_gurl_) { 954 } else if (url == get_user_info_gurl_) {
931 OnGetUserInfoFetched(data, status, response_code); 955 OnGetUserInfoFetched(data, status, response_code);
932 } else if (url == merge_session_gurl_) { 956 } else if (url == merge_session_gurl_) {
933 OnMergeSessionFetched(data, status, response_code); 957 OnMergeSessionFetched(data, status, response_code);
934 } else if (url == uberauth_token_gurl_) { 958 } else if (url == uberauth_token_gurl_) {
935 OnUberAuthTokenFetch(data, status, response_code); 959 OnUberAuthTokenFetch(data, status, response_code);
936 } else if (url == oauth_login_gurl_) { 960 } else if (url == oauth_login_gurl_) {
937 OnOAuthLoginFetched(data, status, response_code); 961 OnOAuthLoginFetched(data, status, response_code);
938 } else if (url == oauth2_revoke_gurl_) { 962 } else if (url == oauth2_revoke_gurl_) {
939 OnOAuth2RevokeTokenFetched(data, status, response_code); 963 OnOAuth2RevokeTokenFetched(data, status, response_code);
964 } else if (url == list_accounts_gurl_) {
965 OnListAccountsFetched(data, status, response_code);
940 } else { 966 } else {
941 NOTREACHED(); 967 NOTREACHED();
942 } 968 }
943 } 969 }
944 970
945 // static 971 // static
946 bool GaiaAuthFetcher::IsSecondFactorSuccess( 972 bool GaiaAuthFetcher::IsSecondFactorSuccess(
947 const std::string& alleged_error) { 973 const std::string& alleged_error) {
948 return alleged_error.find(kSecondFactor) != 974 return alleged_error.find(kSecondFactor) !=
949 std::string::npos; 975 std::string::npos;
950 } 976 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698