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

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

Issue 271063002: Reintroduce proper checking for owner profile for the UI. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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
« no previous file with comments | « no previous file | chrome/browser/chromeos/settings/device_settings_provider.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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/chromeos/login/user_manager_impl.h" 5 #include "chrome/browser/chromeos/login/user_manager_impl.h"
6 6
7 #include <cstddef> 7 #include <cstddef>
8 #include <set> 8 #include <set>
9 9
10 #include "ash/multi_profile_uma.h" 10 #include "ash/multi_profile_uma.h"
(...skipping 908 matching lines...) Expand 10 before | Expand all | Expand 10 after
919 case chrome::NOTIFICATION_OWNERSHIP_STATUS_CHANGED: 919 case chrome::NOTIFICATION_OWNERSHIP_STATUS_CHANGED:
920 if (!device_local_account_policy_service_) { 920 if (!device_local_account_policy_service_) {
921 policy::BrowserPolicyConnectorChromeOS* connector = 921 policy::BrowserPolicyConnectorChromeOS* connector =
922 g_browser_process->platform_part() 922 g_browser_process->platform_part()
923 ->browser_policy_connector_chromeos(); 923 ->browser_policy_connector_chromeos();
924 device_local_account_policy_service_ = 924 device_local_account_policy_service_ =
925 connector->GetDeviceLocalAccountPolicyService(); 925 connector->GetDeviceLocalAccountPolicyService();
926 if (device_local_account_policy_service_) 926 if (device_local_account_policy_service_)
927 device_local_account_policy_service_->AddObserver(this); 927 device_local_account_policy_service_->AddObserver(this);
928 } 928 }
929 // Making this call synchronously is not gonna cut it because 929 RetrieveTrustedDevicePolicies();
930 // notification order is not defined and in a single message loop run and 930 UpdateOwnership();
931 // getting trusted settings rely on a reload that happens on the very same
932 // notification observation.
933 base::MessageLoop::current()->PostTask(FROM_HERE,
934 base::Bind(&UserManagerImpl::RetrieveTrustedDevicePolicies,
935 base::Unretained(this)));
936 UserManagerImpl::UpdateOwnership();
937 break; 931 break;
938 case chrome::NOTIFICATION_LOGIN_USER_PROFILE_PREPARED: { 932 case chrome::NOTIFICATION_LOGIN_USER_PROFILE_PREPARED: {
939 Profile* profile = content::Details<Profile>(details).ptr(); 933 Profile* profile = content::Details<Profile>(details).ptr();
940 if (IsUserLoggedIn() && 934 if (IsUserLoggedIn() &&
941 !IsLoggedInAsGuest() && 935 !IsLoggedInAsGuest() &&
942 !IsLoggedInAsKioskApp()) { 936 !IsLoggedInAsKioskApp()) {
943 if (IsLoggedInAsLocallyManagedUser()) 937 if (IsLoggedInAsLocallyManagedUser())
944 ManagedUserPasswordServiceFactory::GetForProfile(profile); 938 ManagedUserPasswordServiceFactory::GetForProfile(profile);
945 if (IsLoggedInAsRegularUser()) 939 if (IsLoggedInAsRegularUser())
946 ManagerPasswordServiceFactory::GetForProfile(profile); 940 ManagerPasswordServiceFactory::GetForProfile(profile);
(...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after
1286 GetUserImageManager((*ui)->email())->LoadUserImage(); 1280 GetUserImageManager((*ui)->email())->LoadUserImage();
1287 } 1281 }
1288 } 1282 }
1289 1283
1290 void UserManagerImpl::RetrieveTrustedDevicePolicies() { 1284 void UserManagerImpl::RetrieveTrustedDevicePolicies() {
1291 ephemeral_users_enabled_ = false; 1285 ephemeral_users_enabled_ = false;
1292 owner_email_ = ""; 1286 owner_email_ = "";
1293 1287
1294 // Schedule a callback if device policy has not yet been verified. 1288 // Schedule a callback if device policy has not yet been verified.
1295 if (CrosSettingsProvider::TRUSTED != cros_settings_->PrepareTrustedValues( 1289 if (CrosSettingsProvider::TRUSTED != cros_settings_->PrepareTrustedValues(
1296 base::Bind(&UserManagerImpl::RetrieveTrustedDevicePolicies, 1290 base::Bind(&UserManagerImpl::RetrieveTrustedDevicePolicies,
1297 base::Unretained(this)))) { 1291 base::Unretained(this)))) {
1298 return; 1292 return;
1299 } 1293 }
1300 1294
1301 cros_settings_->GetBoolean(kAccountsPrefEphemeralUsersEnabled, 1295 cros_settings_->GetBoolean(kAccountsPrefEphemeralUsersEnabled,
1302 &ephemeral_users_enabled_); 1296 &ephemeral_users_enabled_);
1303 cros_settings_->GetString(kDeviceOwner, &owner_email_); 1297 cros_settings_->GetString(kDeviceOwner, &owner_email_);
1304 1298
1305 EnsureUsersLoaded(); 1299 EnsureUsersLoaded();
1306 1300
1307 bool changed = UpdateAndCleanUpPublicAccounts( 1301 bool changed = UpdateAndCleanUpPublicAccounts(
(...skipping 788 matching lines...) Expand 10 before | Expand all | Expand 10 after
2096 } 2090 }
2097 2091
2098 void UserManagerImpl::DeleteUser(User* user) { 2092 void UserManagerImpl::DeleteUser(User* user) {
2099 const bool is_active_user = (user == active_user_); 2093 const bool is_active_user = (user == active_user_);
2100 delete user; 2094 delete user;
2101 if (is_active_user) 2095 if (is_active_user)
2102 active_user_ = NULL; 2096 active_user_ = NULL;
2103 } 2097 }
2104 2098
2105 } // namespace chromeos 2099 } // namespace chromeos
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/settings/device_settings_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698