OLD | NEW |
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/session/user_session_manager.h" | 5 #include "chrome/browser/chromeos/login/session/user_session_manager.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/base_paths.h" | 9 #include "base/base_paths.h" |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
438 // linux_chromeos build on dev workstations w/o user_id parameters. | 438 // linux_chromeos build on dev workstations w/o user_id parameters. |
439 // Stub user is considered to be a regular GAIA user but it has special | 439 // Stub user is considered to be a regular GAIA user but it has special |
440 // user_id (kStubUser) and certain services like restoring OAuth session are | 440 // user_id (kStubUser) and certain services like restoring OAuth session are |
441 // explicitly disabled for it. | 441 // explicitly disabled for it. |
442 if (!user_manager->IsUserLoggedIn() || | 442 if (!user_manager->IsUserLoggedIn() || |
443 !user_manager->IsLoggedInAsUserWithGaiaAccount() || | 443 !user_manager->IsLoggedInAsUserWithGaiaAccount() || |
444 user_manager->IsLoggedInAsStub()) { | 444 user_manager->IsLoggedInAsStub()) { |
445 return; | 445 return; |
446 } | 446 } |
447 | 447 |
448 user_manager::User* user = | 448 const user_manager::User* user = |
449 ProfileHelper::Get()->GetUserByProfile(user_profile); | 449 ProfileHelper::Get()->GetUserByProfile(user_profile); |
450 DCHECK(user); | 450 DCHECK(user); |
451 if (!net::NetworkChangeNotifier::IsOffline()) { | 451 if (!net::NetworkChangeNotifier::IsOffline()) { |
452 pending_signin_restore_sessions_.erase(user->email()); | 452 pending_signin_restore_sessions_.erase(user->email()); |
453 RestoreAuthSessionImpl(user_profile, false /* has_auth_cookies */); | 453 RestoreAuthSessionImpl(user_profile, false /* has_auth_cookies */); |
454 } else { | 454 } else { |
455 // Even if we're online we should wait till initial | 455 // Even if we're online we should wait till initial |
456 // OnConnectionTypeChanged() call. Otherwise starting fetchers too early may | 456 // OnConnectionTypeChanged() call. Otherwise starting fetchers too early may |
457 // end up canceling all request when initial network connection type is | 457 // end up canceling all request when initial network connection type is |
458 // processed. See http://crbug.com/121643. | 458 // processed. See http://crbug.com/121643. |
(...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
851 case Profile::CREATE_STATUS_CANCELED: | 851 case Profile::CREATE_STATUS_CANCELED: |
852 case Profile::MAX_CREATE_STATUS: | 852 case Profile::MAX_CREATE_STATUS: |
853 NOTREACHED(); | 853 NOTREACHED(); |
854 break; | 854 break; |
855 } | 855 } |
856 } | 856 } |
857 | 857 |
858 void UserSessionManager::InitProfilePreferences( | 858 void UserSessionManager::InitProfilePreferences( |
859 Profile* profile, | 859 Profile* profile, |
860 const UserContext& user_context) { | 860 const UserContext& user_context) { |
861 user_manager::User* user = ProfileHelper::Get()->GetUserByProfile(profile); | 861 const user_manager::User* user = |
| 862 ProfileHelper::Get()->GetUserByProfile(profile); |
862 if (user->is_active()) { | 863 if (user->is_active()) { |
863 input_method::InputMethodManager* manager = | 864 input_method::InputMethodManager* manager = |
864 input_method::InputMethodManager::Get(); | 865 input_method::InputMethodManager::Get(); |
865 manager->SetState(GetDefaultIMEState(profile)); | 866 manager->SetState(GetDefaultIMEState(profile)); |
866 } | 867 } |
867 if (user_manager::UserManager::Get()->IsCurrentUserNew()) { | 868 if (user_manager::UserManager::Get()->IsCurrentUserNew()) { |
868 SetFirstLoginPrefs(profile, | 869 SetFirstLoginPrefs(profile, |
869 user_context.GetPublicSessionLocale(), | 870 user_context.GetPublicSessionLocale(), |
870 user_context.GetPublicSessionInputMethod()); | 871 user_context.GetPublicSessionInputMethod()); |
871 } | 872 } |
(...skipping 634 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1506 chromeos::BootTimesRecorder::Get()->LoginDone( | 1507 chromeos::BootTimesRecorder::Get()->LoginDone( |
1507 user_manager::UserManager::Get()->IsCurrentUserNew()); | 1508 user_manager::UserManager::Get()->IsCurrentUserNew()); |
1508 } | 1509 } |
1509 | 1510 |
1510 void UserSessionManager::RespectLocalePreferenceWrapper( | 1511 void UserSessionManager::RespectLocalePreferenceWrapper( |
1511 Profile* profile, | 1512 Profile* profile, |
1512 const base::Closure& callback) { | 1513 const base::Closure& callback) { |
1513 if (browser_shutdown::IsTryingToQuit()) | 1514 if (browser_shutdown::IsTryingToQuit()) |
1514 return; | 1515 return; |
1515 | 1516 |
1516 user_manager::User* const user = | 1517 const user_manager::User* const user = |
1517 ProfileHelper::Get()->GetUserByProfile(profile); | 1518 ProfileHelper::Get()->GetUserByProfile(profile); |
1518 locale_util::SwitchLanguageCallback locale_switched_callback(base::Bind( | 1519 locale_util::SwitchLanguageCallback locale_switched_callback(base::Bind( |
1519 &UserSessionManager::RunCallbackOnLocaleLoaded, callback, | 1520 &UserSessionManager::RunCallbackOnLocaleLoaded, callback, |
1520 base::Owned(new InputEventsBlocker))); // Block UI events until | 1521 base::Owned(new InputEventsBlocker))); // Block UI events until |
1521 // the ResourceBundle is | 1522 // the ResourceBundle is |
1522 // reloaded. | 1523 // reloaded. |
1523 if (!RespectLocalePreference(profile, user, locale_switched_callback)) | 1524 if (!RespectLocalePreference(profile, user, locale_switched_callback)) |
1524 callback.Run(); | 1525 callback.Run(); |
1525 } | 1526 } |
1526 | 1527 |
1527 // static | 1528 // static |
1528 void UserSessionManager::RunCallbackOnLocaleLoaded( | 1529 void UserSessionManager::RunCallbackOnLocaleLoaded( |
1529 const base::Closure& callback, | 1530 const base::Closure& callback, |
1530 InputEventsBlocker* /* input_events_blocker */, | 1531 InputEventsBlocker* /* input_events_blocker */, |
1531 const locale_util::LanguageSwitchResult& /* result */) { | 1532 const locale_util::LanguageSwitchResult& /* result */) { |
1532 callback.Run(); | 1533 callback.Run(); |
1533 } | 1534 } |
1534 | 1535 |
1535 void UserSessionManager::RemoveProfileForTesting(Profile* profile) { | 1536 void UserSessionManager::RemoveProfileForTesting(Profile* profile) { |
1536 default_ime_states_.erase(profile); | 1537 default_ime_states_.erase(profile); |
1537 } | 1538 } |
1538 | 1539 |
1539 void UserSessionManager::InjectStubUserContext( | 1540 void UserSessionManager::InjectStubUserContext( |
1540 const UserContext& user_context) { | 1541 const UserContext& user_context) { |
1541 injected_user_context_.reset(new UserContext(user_context)); | 1542 injected_user_context_.reset(new UserContext(user_context)); |
1542 authenticator_ = NULL; | 1543 authenticator_ = NULL; |
1543 } | 1544 } |
1544 | 1545 |
1545 } // namespace chromeos | 1546 } // namespace chromeos |
OLD | NEW |