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

Side by Side Diff: chrome/browser/chromeos/login/existing_user_controller.cc

Issue 14927015: Translate device-local account IDs to user IDs (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 7 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/chromeos/login/existing_user_controller.h" 5 #include "chrome/browser/chromeos/login/existing_user_controller.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
(...skipping 15 matching lines...) Expand all
26 #include "chrome/browser/chromeos/cros/cros_library.h" 26 #include "chrome/browser/chromeos/cros/cros_library.h"
27 #include "chrome/browser/chromeos/customization_document.h" 27 #include "chrome/browser/chromeos/customization_document.h"
28 #include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.h" 28 #include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.h"
29 #include "chrome/browser/chromeos/login/helper.h" 29 #include "chrome/browser/chromeos/login/helper.h"
30 #include "chrome/browser/chromeos/login/login_display_host.h" 30 #include "chrome/browser/chromeos/login/login_display_host.h"
31 #include "chrome/browser/chromeos/login/login_utils.h" 31 #include "chrome/browser/chromeos/login/login_utils.h"
32 #include "chrome/browser/chromeos/login/startup_utils.h" 32 #include "chrome/browser/chromeos/login/startup_utils.h"
33 #include "chrome/browser/chromeos/login/user_manager.h" 33 #include "chrome/browser/chromeos/login/user_manager.h"
34 #include "chrome/browser/chromeos/login/wizard_controller.h" 34 #include "chrome/browser/chromeos/login/wizard_controller.h"
35 #include "chrome/browser/chromeos/net/connectivity_state_helper.h" 35 #include "chrome/browser/chromeos/net/connectivity_state_helper.h"
36 #include "chrome/browser/chromeos/policy/device_local_account.h"
36 #include "chrome/browser/chromeos/profiles/profile_helper.h" 37 #include "chrome/browser/chromeos/profiles/profile_helper.h"
37 #include "chrome/browser/chromeos/settings/cros_settings.h" 38 #include "chrome/browser/chromeos/settings/cros_settings.h"
38 #include "chrome/browser/chromeos/settings/cros_settings_names.h" 39 #include "chrome/browser/chromeos/settings/cros_settings_names.h"
39 #include "chrome/browser/chromeos/system/statistics_provider.h" 40 #include "chrome/browser/chromeos/system/statistics_provider.h"
40 #include "chrome/browser/google/google_util.h" 41 #include "chrome/browser/google/google_util.h"
41 #include "chrome/browser/policy/policy_service.h" 42 #include "chrome/browser/policy/policy_service.h"
42 #include "chrome/browser/prefs/session_startup_pref.h" 43 #include "chrome/browser/prefs/session_startup_pref.h"
43 #include "chrome/common/chrome_notification_types.h" 44 #include "chrome/common/chrome_notification_types.h"
44 #include "chrome/common/chrome_version_info.h" 45 #include "chrome/common/chrome_version_info.h"
45 #include "chrome/common/pref_names.h" 46 #include "chrome/common/pref_names.h"
(...skipping 845 matching lines...) Expand 10 before | Expand all | Expand 10 after
891 892
892 //////////////////////////////////////////////////////////////////////////////// 893 ////////////////////////////////////////////////////////////////////////////////
893 // ExistingUserController, private: 894 // ExistingUserController, private:
894 895
895 void ExistingUserController::ActivateWizard(const std::string& screen_name) { 896 void ExistingUserController::ActivateWizard(const std::string& screen_name) {
896 scoped_ptr<DictionaryValue> params; 897 scoped_ptr<DictionaryValue> params;
897 host_->StartWizard(screen_name, params.Pass()); 898 host_->StartWizard(screen_name, params.Pass());
898 } 899 }
899 900
900 void ExistingUserController::ConfigurePublicSessionAutoLogin() { 901 void ExistingUserController::ConfigurePublicSessionAutoLogin() {
901 if (!cros_settings_->GetString( 902 std::string auto_login_account_id;
902 kAccountsPrefDeviceLocalAccountAutoLoginId, 903 cros_settings_->GetString(kAccountsPrefDeviceLocalAccountAutoLoginId,
903 &public_session_auto_login_username_)) { 904 &auto_login_account_id);
904 public_session_auto_login_username_.clear(); 905
906 const base::ListValue* device_local_accounts_list;
907 cros_settings_->GetList(kAccountsPrefDeviceLocalAccounts,
908 &device_local_accounts_list);
909 const std::vector<policy::DeviceLocalAccount> device_local_accounts =
910 policy::DecodeDeviceLocalAccountsList(device_local_accounts_list);
911
912 public_session_auto_login_username_.clear();
913 for (std::vector<policy::DeviceLocalAccount>::const_iterator
914 it = device_local_accounts.begin();
915 it != device_local_accounts.end(); ++it) {
916 if (it->account_id == auto_login_account_id) {
917 public_session_auto_login_username_ = it->user_id;
918 break;
919 }
905 } 920 }
906 921
907 const User* user = 922 const User* user =
908 UserManager::Get()->FindUser(public_session_auto_login_username_); 923 UserManager::Get()->FindUser(public_session_auto_login_username_);
909 if (!user || user->GetType() != User::USER_TYPE_PUBLIC_ACCOUNT) 924 if (!user || user->GetType() != User::USER_TYPE_PUBLIC_ACCOUNT)
910 public_session_auto_login_username_.clear(); 925 public_session_auto_login_username_.clear();
911 926
912 if (!cros_settings_->GetInteger( 927 if (!cros_settings_->GetInteger(
913 kAccountsPrefDeviceLocalAccountAutoLoginDelay, 928 kAccountsPrefDeviceLocalAccountAutoLoginDelay,
914 &public_session_auto_login_delay_)) { 929 &public_session_auto_login_delay_)) {
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
1085 // changed. 1100 // changed.
1086 UserManager::Get()->SaveUserOAuthStatus( 1101 UserManager::Get()->SaveUserOAuthStatus(
1087 username, 1102 username,
1088 User::OAUTH2_TOKEN_STATUS_INVALID); 1103 User::OAUTH2_TOKEN_STATUS_INVALID);
1089 1104
1090 login_display_->SetUIEnabled(true); 1105 login_display_->SetUIEnabled(true);
1091 login_display_->ShowGaiaPasswordChanged(username); 1106 login_display_->ShowGaiaPasswordChanged(username);
1092 } 1107 }
1093 1108
1094 } // namespace chromeos 1109 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698