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

Side by Side Diff: chrome/browser/ui/webui/chromeos/login/enterprise_oauth_enrollment_screen_handler.cc

Issue 10664017: Introduce a new error code from the DM server - 402 - missing licenses. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 5 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 | 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 "chrome/browser/ui/webui/chromeos/login/enterprise_oauth_enrollment_scr een_handler.h" 5 #include "chrome/browser/ui/webui/chromeos/login/enterprise_oauth_enrollment_scr een_handler.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 void EnterpriseOAuthEnrollmentScreenHandler::ShowAuthError( 162 void EnterpriseOAuthEnrollmentScreenHandler::ShowAuthError(
163 const GoogleServiceAuthError& error) { 163 const GoogleServiceAuthError& error) {
164 switch (error.state()) { 164 switch (error.state()) {
165 case GoogleServiceAuthError::NONE: 165 case GoogleServiceAuthError::NONE:
166 case GoogleServiceAuthError::CAPTCHA_REQUIRED: 166 case GoogleServiceAuthError::CAPTCHA_REQUIRED:
167 case GoogleServiceAuthError::TWO_FACTOR: 167 case GoogleServiceAuthError::TWO_FACTOR:
168 case GoogleServiceAuthError::HOSTED_NOT_ALLOWED: 168 case GoogleServiceAuthError::HOSTED_NOT_ALLOWED:
169 case GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS: 169 case GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS:
170 case GoogleServiceAuthError::REQUEST_CANCELED: 170 case GoogleServiceAuthError::REQUEST_CANCELED:
171 LOG(ERROR) << "Auth error " << error.state(); 171 LOG(ERROR) << "Auth error " << error.state();
172 ShowFatalAuthError(); 172 ShowEnrollmentError(FATAL_AUTH_ERROR);
173 return; 173 return;
174 case GoogleServiceAuthError::USER_NOT_SIGNED_UP: 174 case GoogleServiceAuthError::USER_NOT_SIGNED_UP:
175 case GoogleServiceAuthError::ACCOUNT_DELETED: 175 case GoogleServiceAuthError::ACCOUNT_DELETED:
176 case GoogleServiceAuthError::ACCOUNT_DISABLED: 176 case GoogleServiceAuthError::ACCOUNT_DISABLED:
177 LOG(ERROR) << "Account error " << error.state(); 177 LOG(ERROR) << "Account error " << error.state();
178 ShowAccountError(); 178 ShowEnrollmentError(ACCOUNT_ERROR);
179 return; 179 return;
180 case GoogleServiceAuthError::CONNECTION_FAILED: 180 case GoogleServiceAuthError::CONNECTION_FAILED:
181 case GoogleServiceAuthError::SERVICE_UNAVAILABLE: 181 case GoogleServiceAuthError::SERVICE_UNAVAILABLE:
182 LOG(WARNING) << "Network error " << error.state(); 182 LOG(WARNING) << "Network error " << error.state();
183 ShowNetworkEnrollmentError(); 183 ShowEnrollmentError(NETWORK_ENROLLMENT_ERROR);
184 return; 184 return;
185 } 185 }
186 UMAFailure(policy::kMetricEnrollmentOtherFailed); 186 UMAFailure(policy::kMetricEnrollmentOtherFailed);
187 NOTREACHED(); 187 NOTREACHED();
188 } 188 }
189 189
190 void EnterpriseOAuthEnrollmentScreenHandler::ShowAccountError() { 190 void EnterpriseOAuthEnrollmentScreenHandler::ShowEnrollmentError(
191 UMAFailure(policy::kMetricEnrollmentNotSupported); 191 EnrollmentError error_code) {
192 ShowError(IDS_ENTERPRISE_ENROLLMENT_ACCOUNT_ERROR, true); 192 switch (error_code) {
193 NotifyObservers(false); 193 case ACCOUNT_ERROR:
194 } 194 UMAFailure(policy::kMetricEnrollmentNotSupported);
195 ShowError(IDS_ENTERPRISE_ENROLLMENT_ACCOUNT_ERROR, true);
196 NotifyObservers(false);
Mattias Nissler (ping if slow) 2012/06/26 09:19:34 seems like the NotifyObservers(false) can be moved
pastarmovj 2012/06/26 16:59:29 Done.
197 break;
198 case SERIAL_NUMBER_ERROR:
199 UMAFailure(policy::kMetricEnrollmentInvalidSerialNumber);
200 ShowError(IDS_ENTERPRISE_ENROLLMENT_SERIAL_NUMBER_ERROR, true);
201 NotifyObservers(false);
202 break;
203 case ENROLLMENT_MODE_ERROR:
204 UMAFailure(policy::kMetricEnrollmentInvalidEnrollmentMode);
205 ShowError(IDS_ENTERPRISE_ENROLLMENT_MODE_ERROR, false);
206 NotifyObservers(false);
207 break;
208 case FATAL_AUTH_ERROR:
209 UMAFailure(policy::kMetricEnrollmentLoginFailed);
210 ShowError(IDS_ENTERPRISE_ENROLLMENT_FATAL_AUTH_ERROR, false);
211 NotifyObservers(false);
212 break;
213 case AUTO_ENROLLMENT_ERROR: {
214 UMAFailure(policy::kMetricEnrollmentAutoEnrollmentNotSupported);
215 // The reason for showing this error is that we have been trying to
216 // auto-enroll and this failed, so we have to verify whether
217 // auto-enrollment is on, and if so switch it off, update the UI
218 // accordingly and show the error message.
219 std::string user;
220 is_auto_enrollment_ = controller_ && controller_->IsAutoEnrollment(&user);
221 base::FundamentalValue value(is_auto_enrollment_);
222 web_ui()->CallJavascriptFunction(
223 "oobe.OAuthEnrollmentScreen.setIsAutoEnrollment", value);
195 224
196 void EnterpriseOAuthEnrollmentScreenHandler::ShowSerialNumberError() { 225 ShowError(IDS_ENTERPRISE_AUTO_ENROLLMENT_ERROR, false);
197 UMAFailure(policy::kMetricEnrollmentInvalidSerialNumber); 226 NotifyObservers(false);
198 ShowError(IDS_ENTERPRISE_ENROLLMENT_SERIAL_NUMBER_ERROR, true); 227 break;
199 NotifyObservers(false); 228 }
200 } 229 case NETWORK_ENROLLMENT_ERROR:
201 230 UMAFailure(policy::kMetricEnrollmentNetworkFailed);
202 void EnterpriseOAuthEnrollmentScreenHandler::ShowEnrollmentModeError() { 231 ShowError(IDS_ENTERPRISE_ENROLLMENT_NETWORK_ENROLLMENT_ERROR, true);
203 UMAFailure(policy::kMetricEnrollmentInvalidEnrollmentMode); 232 NotifyObservers(false);
204 ShowError(IDS_ENTERPRISE_ENROLLMENT_MODE_ERROR, false); 233 break;
205 NotifyObservers(false); 234 case LOCKBOX_TIMEOUT_ERROR:
206 } 235 UMAFailure(policy::kMetricLockboxTimeoutError);
207 236 ShowError(IDS_ENTERPRISE_LOCKBOX_TIMEOUT_ERROR, true);
208 void EnterpriseOAuthEnrollmentScreenHandler::ShowFatalAuthError() { 237 NotifyObservers(false);
209 UMAFailure(policy::kMetricEnrollmentLoginFailed); 238 break;
210 ShowError(IDS_ENTERPRISE_ENROLLMENT_FATAL_AUTH_ERROR, false); 239 case DOMAIN_MISMATCH_ERROR:
211 NotifyObservers(false); 240 UMAFailure(policy::kMetricEnrollmentWrongUserError);
212 } 241 ShowError(IDS_ENTERPRISE_ENROLLMENT_DOMAIN_MISMATCH_ERROR, true);
213 242 NotifyObservers(false);
214 void EnterpriseOAuthEnrollmentScreenHandler::ShowFatalEnrollmentError() { 243 break;
215 UMAFailure(policy::kMetricEnrollmentOtherFailed); 244 case MISSING_LICESES_ERROR:
216 ShowError(IDS_ENTERPRISE_ENROLLMENT_FATAL_ENROLLMENT_ERROR, false); 245 UMAFailure(policy::kMetricEnrollmentMissingSerialsError);
217 NotifyObservers(false); 246 ShowError(IDS_ENTERPRISE_ENROLLMENT_MISSING_LICENSES_ERROR, true);
218 } 247 NotifyObservers(false);
219 248 break;
220 void EnterpriseOAuthEnrollmentScreenHandler::ShowAutoEnrollmentError() { 249 case FATAL_ENROLLMENT_ERROR:
221 UMAFailure(policy::kMetricEnrollmentAutoEnrollmentNotSupported); 250 default:
222 // The reason for showing this error is that we have been trying to 251 UMAFailure(policy::kMetricEnrollmentOtherFailed);
223 // auto-enroll and this failed, so we have to verify whether auto-enrollment 252 ShowError(IDS_ENTERPRISE_ENROLLMENT_FATAL_ENROLLMENT_ERROR, false);
224 // is on, and if so switch it off, update the UI accordingly and show the 253 NotifyObservers(false);
225 // error message. 254 }
226 std::string user;
227 is_auto_enrollment_ = controller_ && controller_->IsAutoEnrollment(&user);
228 base::FundamentalValue value(is_auto_enrollment_);
229 web_ui()->CallJavascriptFunction(
230 "oobe.OAuthEnrollmentScreen.setIsAutoEnrollment", value);
231
232 ShowError(IDS_ENTERPRISE_AUTO_ENROLLMENT_ERROR, false);
233 NotifyObservers(false);
234 }
235
236 void EnterpriseOAuthEnrollmentScreenHandler::ShowNetworkEnrollmentError() {
237 UMAFailure(policy::kMetricEnrollmentNetworkFailed);
238 ShowError(IDS_ENTERPRISE_ENROLLMENT_NETWORK_ENROLLMENT_ERROR, true);
239 NotifyObservers(false);
240 }
241
242 void EnterpriseOAuthEnrollmentScreenHandler::ShowLockboxTimeoutError() {
243 UMAFailure(policy::kMetricLockboxTimeoutError);
244 ShowError(IDS_ENTERPRISE_LOCKBOX_TIMEOUT_ERROR, true);
245 NotifyObservers(false);
246 }
247
248 void EnterpriseOAuthEnrollmentScreenHandler::ShowDomainMismatchError() {
249 UMAFailure(policy::kMetricEnrollmentWrongUserError);
250 ShowError(IDS_ENTERPRISE_ENROLLMENT_DOMAIN_MISMATCH_ERROR, true);
251 NotifyObservers(false);
252 } 255 }
253 256
254 void EnterpriseOAuthEnrollmentScreenHandler::SubmitTestCredentials( 257 void EnterpriseOAuthEnrollmentScreenHandler::SubmitTestCredentials(
255 const std::string& email, 258 const std::string& email,
256 const std::string& password) { 259 const std::string& password) {
257 test_email_ = email; 260 test_email_ = email;
258 test_password_ = password; 261 test_password_ = password;
259 DoShow(); 262 DoShow();
260 } 263 }
261 264
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
303 localized_strings->SetString( 306 localized_strings->SetString(
304 "oauthEnrollCancelAutoEnrollmentConfirm", 307 "oauthEnrollCancelAutoEnrollmentConfirm",
305 l10n_util::GetStringUTF16(IDS_ENTERPRISE_ENROLLMENT_CANCEL_AUTO_CONFIRM)); 308 l10n_util::GetStringUTF16(IDS_ENTERPRISE_ENROLLMENT_CANCEL_AUTO_CONFIRM));
306 localized_strings->SetString( 309 localized_strings->SetString(
307 "oauthEnrollCancelAutoEnrollmentGoBack", 310 "oauthEnrollCancelAutoEnrollmentGoBack",
308 l10n_util::GetStringUTF16(IDS_ENTERPRISE_ENROLLMENT_CANCEL_AUTO_GO_BACK)); 311 l10n_util::GetStringUTF16(IDS_ENTERPRISE_ENROLLMENT_CANCEL_AUTO_GO_BACK));
309 } 312 }
310 313
311 void EnterpriseOAuthEnrollmentScreenHandler::OnGetOAuthTokenFailure( 314 void EnterpriseOAuthEnrollmentScreenHandler::OnGetOAuthTokenFailure(
312 const GoogleServiceAuthError& error) { 315 const GoogleServiceAuthError& error) {
313 ShowFatalAuthError(); 316 ShowEnrollmentError(FATAL_AUTH_ERROR);
314 } 317 }
315 318
316 void EnterpriseOAuthEnrollmentScreenHandler::OnOAuthGetAccessTokenSuccess( 319 void EnterpriseOAuthEnrollmentScreenHandler::OnOAuthGetAccessTokenSuccess(
317 const std::string& token, 320 const std::string& token,
318 const std::string& secret) { 321 const std::string& secret) {
319 access_token_ = token; 322 access_token_ = token;
320 access_token_secret_ = secret; 323 access_token_secret_ = secret;
321 } 324 }
322 325
323 void EnterpriseOAuthEnrollmentScreenHandler::OnOAuthGetAccessTokenFailure( 326 void EnterpriseOAuthEnrollmentScreenHandler::OnOAuthGetAccessTokenFailure(
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
559 controller_->OnConfirmationClosed(back_to_signin); 562 controller_->OnConfirmationClosed(back_to_signin);
560 } 563 }
561 564
562 void EnterpriseOAuthEnrollmentScreenHandler::UMAFailure(int sample) { 565 void EnterpriseOAuthEnrollmentScreenHandler::UMAFailure(int sample) {
563 if (is_auto_enrollment_) 566 if (is_auto_enrollment_)
564 sample = policy::kMetricEnrollmentAutoFailed; 567 sample = policy::kMetricEnrollmentAutoFailed;
565 UMA(sample); 568 UMA(sample);
566 } 569 }
567 570
568 } // namespace chromeos 571 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698