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

Side by Side Diff: chrome/browser/chromeos/login/signin/oauth2_login_verifier.cc

Issue 1036723003: favor DCHECK_CURRENTLY_ON for better logs in chrome/browser/chromeos/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 months 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/chromeos/login/signin/oauth2_login_verifier.h" 5 #include "chrome/browser/chromeos/login/signin/oauth2_login_verifier.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 user_request_context_(user_request_context), 57 user_request_context_(user_request_context),
58 access_token_(oauthlogin_access_token), 58 access_token_(oauthlogin_access_token),
59 retry_count_(0) { 59 retry_count_(0) {
60 DCHECK(delegate); 60 DCHECK(delegate);
61 } 61 }
62 62
63 OAuth2LoginVerifier::~OAuth2LoginVerifier() { 63 OAuth2LoginVerifier::~OAuth2LoginVerifier() {
64 } 64 }
65 65
66 void OAuth2LoginVerifier::VerifyUserCookies(Profile* profile) { 66 void OAuth2LoginVerifier::VerifyUserCookies(Profile* profile) {
67 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 67 DCHECK_CURRENTLY_ON(BrowserThread::UI);
68 68
69 // Delay the verification if the network is not connected or on a captive 69 // Delay the verification if the network is not connected or on a captive
70 // portal. 70 // portal.
71 DelayNetworkCall( 71 DelayNetworkCall(
72 base::TimeDelta::FromMilliseconds(kRequestRestartDelay), 72 base::TimeDelta::FromMilliseconds(kRequestRestartDelay),
73 base::Bind(&OAuth2LoginVerifier::StartAuthCookiesVerification, 73 base::Bind(&OAuth2LoginVerifier::StartAuthCookiesVerification,
74 AsWeakPtr())); 74 AsWeakPtr()));
75 } 75 }
76 76
77 void OAuth2LoginVerifier::VerifyProfileTokens(Profile* profile) { 77 void OAuth2LoginVerifier::VerifyProfileTokens(Profile* profile) {
78 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 78 DCHECK_CURRENTLY_ON(BrowserThread::UI);
79 79
80 // Delay the verification if the network is not connected or on a captive 80 // Delay the verification if the network is not connected or on a captive
81 // portal. 81 // portal.
82 DelayNetworkCall(base::TimeDelta::FromMilliseconds(kRequestRestartDelay), 82 DelayNetworkCall(base::TimeDelta::FromMilliseconds(kRequestRestartDelay),
83 base::Bind(&OAuth2LoginVerifier::VerifyProfileTokensImpl, 83 base::Bind(&OAuth2LoginVerifier::VerifyProfileTokensImpl,
84 AsWeakPtr(), profile)); 84 AsWeakPtr(), profile));
85 } 85 }
86 86
87 void OAuth2LoginVerifier::VerifyProfileTokensImpl(Profile* profile) { 87 void OAuth2LoginVerifier::VerifyProfileTokensImpl(Profile* profile) {
88 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 88 DCHECK_CURRENTLY_ON(BrowserThread::UI);
89 89
90 gaia_token_.clear(); 90 gaia_token_.clear();
91 if (access_token_.empty()) { 91 if (access_token_.empty()) {
92 // Fetch /OAuthLogin scoped access token. 92 // Fetch /OAuthLogin scoped access token.
93 StartFetchingOAuthLoginAccessToken(profile); 93 StartFetchingOAuthLoginAccessToken(profile);
94 } else { 94 } else {
95 // If OAuthLogin-scoped access token already exists (if it's generated 95 // If OAuthLogin-scoped access token already exists (if it's generated
96 // together with freshly minted refresh token), then fetch GAIA uber token. 96 // together with freshly minted refresh token), then fetch GAIA uber token.
97 StartOAuthLoginForUberToken(); 97 StartOAuthLoginForUberToken();
98 } 98 }
(...skipping 26 matching lines...) Expand all
125 void OAuth2LoginVerifier::OnUberAuthTokenSuccess( 125 void OAuth2LoginVerifier::OnUberAuthTokenSuccess(
126 const std::string& uber_token) { 126 const std::string& uber_token) {
127 VLOG(1) << "OAuthLogin(uber_token) successful!"; 127 VLOG(1) << "OAuthLogin(uber_token) successful!";
128 retry_count_ = 0; 128 retry_count_ = 0;
129 gaia_token_ = uber_token; 129 gaia_token_ = uber_token;
130 StartMergeSession(); 130 StartMergeSession();
131 } 131 }
132 132
133 void OAuth2LoginVerifier::OnUberAuthTokenFailure( 133 void OAuth2LoginVerifier::OnUberAuthTokenFailure(
134 const GoogleServiceAuthError& error) { 134 const GoogleServiceAuthError& error) {
135 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 135 DCHECK_CURRENTLY_ON(BrowserThread::UI);
136 LOG(WARNING) << "OAuthLogin(uber_token) failed," 136 LOG(WARNING) << "OAuthLogin(uber_token) failed,"
137 << " error: " << error.state(); 137 << " error: " << error.state();
138 RetryOnError("OAuthLoginUberToken", error, 138 RetryOnError("OAuthLoginUberToken", error,
139 base::Bind(&OAuth2LoginVerifier::StartOAuthLoginForUberToken, 139 base::Bind(&OAuth2LoginVerifier::StartOAuthLoginForUberToken,
140 AsWeakPtr()), 140 AsWeakPtr()),
141 base::Bind(&Delegate::OnSessionMergeFailure, 141 base::Bind(&Delegate::OnSessionMergeFailure,
142 base::Unretained(delegate_))); 142 base::Unretained(delegate_)));
143 } 143 }
144 144
145 void OAuth2LoginVerifier::StartMergeSession() { 145 void OAuth2LoginVerifier::StartMergeSession() {
146 DCHECK(!gaia_token_.empty()); 146 DCHECK(!gaia_token_.empty());
147 gaia_fetcher_.reset( 147 gaia_fetcher_.reset(
148 new GaiaAuthFetcher(this, 148 new GaiaAuthFetcher(this,
149 std::string(GaiaConstants::kChromeOSSource), 149 std::string(GaiaConstants::kChromeOSSource),
150 user_request_context_.get())); 150 user_request_context_.get()));
151 gaia_fetcher_->StartMergeSession(gaia_token_, std::string()); 151 gaia_fetcher_->StartMergeSession(gaia_token_, std::string());
152 } 152 }
153 153
154 void OAuth2LoginVerifier::OnMergeSessionSuccess(const std::string& data) { 154 void OAuth2LoginVerifier::OnMergeSessionSuccess(const std::string& data) {
155 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 155 DCHECK_CURRENTLY_ON(BrowserThread::UI);
156 VLOG(1) << "MergeSession successful."; 156 VLOG(1) << "MergeSession successful.";
157 delegate_->OnSessionMergeSuccess(); 157 delegate_->OnSessionMergeSuccess();
158 // Schedule post-merge verification to analyze how many LSID/SID overruns 158 // Schedule post-merge verification to analyze how many LSID/SID overruns
159 // were created by the session restore. 159 // were created by the session restore.
160 SchedulePostMergeVerification(); 160 SchedulePostMergeVerification();
161 } 161 }
162 162
163 void OAuth2LoginVerifier::SchedulePostMergeVerification() { 163 void OAuth2LoginVerifier::SchedulePostMergeVerification() {
164 BrowserThread::PostDelayedTask( 164 BrowserThread::PostDelayedTask(
165 BrowserThread::UI, 165 BrowserThread::UI,
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 200
201 VLOG(1) << "Got OAuth2 access token!"; 201 VLOG(1) << "Got OAuth2 access token!";
202 retry_count_ = 0; 202 retry_count_ = 0;
203 access_token_ = access_token; 203 access_token_ = access_token;
204 StartOAuthLoginForUberToken(); 204 StartOAuthLoginForUberToken();
205 } 205 }
206 206
207 void OAuth2LoginVerifier::OnGetTokenFailure( 207 void OAuth2LoginVerifier::OnGetTokenFailure(
208 const OAuth2TokenService::Request* request, 208 const OAuth2TokenService::Request* request,
209 const GoogleServiceAuthError& error) { 209 const GoogleServiceAuthError& error) {
210 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 210 DCHECK_CURRENTLY_ON(BrowserThread::UI);
211 DCHECK_EQ(login_token_request_.get(), request); 211 DCHECK_EQ(login_token_request_.get(), request);
212 login_token_request_.reset(); 212 login_token_request_.reset();
213 213
214 LOG(WARNING) << "Failed to get OAuth2 access token, " 214 LOG(WARNING) << "Failed to get OAuth2 access token, "
215 << " error: " << error.state(); 215 << " error: " << error.state();
216 UMA_HISTOGRAM_ENUMERATION( 216 UMA_HISTOGRAM_ENUMERATION(
217 base::StringPrintf("OAuth2Login.%sFailure", "GetOAuth2AccessToken"), 217 base::StringPrintf("OAuth2Login.%sFailure", "GetOAuth2AccessToken"),
218 error.state(), 218 error.state(),
219 GoogleServiceAuthError::NUM_STATES); 219 GoogleServiceAuthError::NUM_STATES);
220 delegate_->OnSessionMergeFailure(IsConnectionOrServiceError(error)); 220 delegate_->OnSessionMergeFailure(IsConnectionOrServiceError(error));
221 } 221 }
222 222
223 void OAuth2LoginVerifier::OnListAccountsSuccess( 223 void OAuth2LoginVerifier::OnListAccountsSuccess(
224 const std::string& data) { 224 const std::string& data) {
225 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 225 DCHECK_CURRENTLY_ON(BrowserThread::UI);
226 VLOG(1) << "ListAccounts successful."; 226 VLOG(1) << "ListAccounts successful.";
227 delegate_->OnListAccountsSuccess(data); 227 delegate_->OnListAccountsSuccess(data);
228 } 228 }
229 229
230 void OAuth2LoginVerifier::OnListAccountsFailure( 230 void OAuth2LoginVerifier::OnListAccountsFailure(
231 const GoogleServiceAuthError& error) { 231 const GoogleServiceAuthError& error) {
232 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 232 DCHECK_CURRENTLY_ON(BrowserThread::UI);
233 LOG(WARNING) << "Failed to get list of session accounts, " 233 LOG(WARNING) << "Failed to get list of session accounts, "
234 << " error: " << error.state(); 234 << " error: " << error.state();
235 RetryOnError( 235 RetryOnError(
236 "ListAccounts", 236 "ListAccounts",
237 error, 237 error,
238 base::Bind(&OAuth2LoginVerifier::StartAuthCookiesVerification, 238 base::Bind(&OAuth2LoginVerifier::StartAuthCookiesVerification,
239 AsWeakPtr()), 239 AsWeakPtr()),
240 base::Bind(&Delegate::OnListAccountsFailure, 240 base::Bind(&Delegate::OnListAccountsFailure,
241 base::Unretained(delegate_))); 241 base::Unretained(delegate_)));
242 } 242 }
(...skipping 19 matching lines...) Expand all
262 << operation_id; 262 << operation_id;
263 UMA_HISTOGRAM_ENUMERATION( 263 UMA_HISTOGRAM_ENUMERATION(
264 base::StringPrintf("OAuth2Login.%sFailure", operation_id), 264 base::StringPrintf("OAuth2Login.%sFailure", operation_id),
265 error.state(), 265 error.state(),
266 GoogleServiceAuthError::NUM_STATES); 266 GoogleServiceAuthError::NUM_STATES);
267 267
268 error_handler.Run(IsConnectionOrServiceError(error)); 268 error_handler.Run(IsConnectionOrServiceError(error));
269 } 269 }
270 270
271 } // namespace chromeos 271 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698