OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/signin/user_manager_screen_handler.h" | 5 #include "chrome/browser/ui/webui/signin/user_manager_screen_handler.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/prefs/pref_service.h" | 8 #include "base/prefs/pref_service.h" |
9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
10 #include "base/value_conversions.h" | 10 #include "base/value_conversions.h" |
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
334 const ProfileInfoCache& info_cache = | 334 const ProfileInfoCache& info_cache = |
335 g_browser_process->profile_manager()->GetProfileInfoCache(); | 335 g_browser_process->profile_manager()->GetProfileInfoCache(); |
336 size_t profile_index = info_cache.GetIndexOfProfileWithPath(profile_path); | 336 size_t profile_index = info_cache.GetIndexOfProfileWithPath(profile_path); |
337 | 337 |
338 if (profile_index == std::string::npos) { | 338 if (profile_index == std::string::npos) { |
339 NOTREACHED(); | 339 NOTREACHED(); |
340 return; | 340 return; |
341 } | 341 } |
342 | 342 |
343 authenticating_profile_index_ = profile_index; | 343 authenticating_profile_index_ = profile_index; |
344 if (!chrome::ValidateLocalAuthCredentials(profile_index, password)) { | 344 if (!LocalAuth::ValidateLocalAuthCredentials(profile_index, password)) { |
345 // Make a second attempt via an on-line authentication call. This handles | 345 // Make a second attempt via an on-line authentication call. This handles |
346 // profiles that are missing sign-in credentials and also cases where the | 346 // profiles that are missing sign-in credentials and also cases where the |
347 // password has been changed externally. | 347 // password has been changed externally. |
348 client_login_.reset(new GaiaAuthFetcher( | 348 client_login_.reset(new GaiaAuthFetcher( |
349 this, | 349 this, |
350 GaiaConstants::kChromeSource, | 350 GaiaConstants::kChromeSource, |
351 web_ui()->GetWebContents()->GetBrowserContext()->GetRequestContext())); | 351 web_ui()->GetWebContents()->GetBrowserContext()->GetRequestContext())); |
352 | 352 |
353 client_login_->StartClientLogin( | 353 client_login_->StartClientLogin( |
354 base::UTF16ToUTF8(email_address), | 354 base::UTF16ToUTF8(email_address), |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
446 std::string email; | 446 std::string email; |
447 CHECK(args->GetString(0, &email)); | 447 CHECK(args->GetString(0, &email)); |
448 SetAuthType(email, | 448 SetAuthType(email, |
449 ScreenlockBridge::LockHandler::FORCE_OFFLINE_PASSWORD, | 449 ScreenlockBridge::LockHandler::FORCE_OFFLINE_PASSWORD, |
450 base::string16()); | 450 base::string16()); |
451 HideUserPodCustomIcon(email); | 451 HideUserPodCustomIcon(email); |
452 } | 452 } |
453 | 453 |
454 void UserManagerScreenHandler::OnClientLoginSuccess( | 454 void UserManagerScreenHandler::OnClientLoginSuccess( |
455 const ClientLoginResult& result) { | 455 const ClientLoginResult& result) { |
456 chrome::SetLocalAuthCredentials(authenticating_profile_index_, | 456 LocalAuth::SetLocalAuthCredentials(authenticating_profile_index_, |
457 password_attempt_); | 457 password_attempt_); |
458 ReportAuthenticationResult(true, ProfileMetrics::AUTH_ONLINE); | 458 ReportAuthenticationResult(true, ProfileMetrics::AUTH_ONLINE); |
459 } | 459 } |
460 | 460 |
461 void UserManagerScreenHandler::OnClientLoginFailure( | 461 void UserManagerScreenHandler::OnClientLoginFailure( |
462 const GoogleServiceAuthError& error) { | 462 const GoogleServiceAuthError& error) { |
463 const GoogleServiceAuthError::State state = error.state(); | 463 const GoogleServiceAuthError::State state = error.state(); |
464 // Some "error" results mean the password was correct but some other action | 464 // Some "error" results mean the password was correct but some other action |
465 // should be taken. For our purposes, we only care that the password was | 465 // should be taken. For our purposes, we only care that the password was |
466 // correct so count those as a success. | 466 // correct so count those as a success. |
467 bool success = (state == GoogleServiceAuthError::NONE || | 467 bool success = (state == GoogleServiceAuthError::NONE || |
468 state == GoogleServiceAuthError::CAPTCHA_REQUIRED || | 468 state == GoogleServiceAuthError::CAPTCHA_REQUIRED || |
469 state == GoogleServiceAuthError::TWO_FACTOR || | 469 state == GoogleServiceAuthError::TWO_FACTOR || |
470 state == GoogleServiceAuthError::ACCOUNT_DELETED || | 470 state == GoogleServiceAuthError::ACCOUNT_DELETED || |
471 state == GoogleServiceAuthError::ACCOUNT_DISABLED || | 471 state == GoogleServiceAuthError::ACCOUNT_DISABLED || |
472 state == GoogleServiceAuthError::WEB_LOGIN_REQUIRED); | 472 state == GoogleServiceAuthError::WEB_LOGIN_REQUIRED); |
473 | 473 |
474 // If the password was correct, the user must have changed it since the | 474 // If the password was correct, the user must have changed it since the |
475 // profile was locked. Save the password to streamline future unlocks. | 475 // profile was locked. Save the password to streamline future unlocks. |
476 if (success) { | 476 if (success) { |
477 DCHECK(!password_attempt_.empty()); | 477 DCHECK(!password_attempt_.empty()); |
478 chrome::SetLocalAuthCredentials(authenticating_profile_index_, | 478 LocalAuth::SetLocalAuthCredentials(authenticating_profile_index_, |
479 password_attempt_); | 479 password_attempt_); |
480 } | 480 } |
481 | 481 |
482 bool offline = (state == GoogleServiceAuthError::CONNECTION_FAILED || | 482 bool offline = (state == GoogleServiceAuthError::CONNECTION_FAILED || |
483 state == GoogleServiceAuthError::SERVICE_UNAVAILABLE || | 483 state == GoogleServiceAuthError::SERVICE_UNAVAILABLE || |
484 state == GoogleServiceAuthError::REQUEST_CANCELED); | 484 state == GoogleServiceAuthError::REQUEST_CANCELED); |
485 ProfileMetrics::ProfileAuth failure_metric = | 485 ProfileMetrics::ProfileAuth failure_metric = |
486 offline ? ProfileMetrics::AUTH_FAILED_OFFLINE : | 486 offline ? ProfileMetrics::AUTH_FAILED_OFFLINE : |
487 ProfileMetrics::AUTH_FAILED; | 487 ProfileMetrics::AUTH_FAILED; |
488 ReportAuthenticationResult( | 488 ReportAuthenticationResult( |
489 success, success ? ProfileMetrics::AUTH_ONLINE : failure_metric); | 489 success, success ? ProfileMetrics::AUTH_ONLINE : failure_metric); |
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
758 Profile* profile, Profile::CreateStatus profile_create_status) { | 758 Profile* profile, Profile::CreateStatus profile_create_status) { |
759 Browser* browser = chrome::FindAnyBrowser(profile, false, desktop_type_); | 759 Browser* browser = chrome::FindAnyBrowser(profile, false, desktop_type_); |
760 if (browser && browser->window()) { | 760 if (browser && browser->window()) { |
761 OnBrowserWindowReady(browser); | 761 OnBrowserWindowReady(browser); |
762 } else { | 762 } else { |
763 registrar_.Add(this, | 763 registrar_.Add(this, |
764 chrome::NOTIFICATION_BROWSER_WINDOW_READY, | 764 chrome::NOTIFICATION_BROWSER_WINDOW_READY, |
765 content::NotificationService::AllSources()); | 765 content::NotificationService::AllSources()); |
766 } | 766 } |
767 } | 767 } |
OLD | NEW |