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

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

Issue 23532034: Postpone loading about:flags ui until the certificates have been loaded (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 3 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) 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 "base/bind.h" 10 #include "base/bind.h"
(...skipping 738 matching lines...) Expand 10 before | Expand all | Expand 10 after
749 const content::NotificationDetails& details) { 749 const content::NotificationDetails& details) {
750 switch (type) { 750 switch (type) {
751 case chrome::NOTIFICATION_OWNERSHIP_STATUS_CHANGED: 751 case chrome::NOTIFICATION_OWNERSHIP_STATUS_CHANGED:
752 if (!device_local_account_policy_service_) { 752 if (!device_local_account_policy_service_) {
753 device_local_account_policy_service_ = 753 device_local_account_policy_service_ =
754 g_browser_process->browser_policy_connector()-> 754 g_browser_process->browser_policy_connector()->
755 GetDeviceLocalAccountPolicyService(); 755 GetDeviceLocalAccountPolicyService();
756 if (device_local_account_policy_service_) 756 if (device_local_account_policy_service_)
757 device_local_account_policy_service_->AddObserver(this); 757 device_local_account_policy_service_->AddObserver(this);
758 } 758 }
759 CheckOwnership();
760 RetrieveTrustedDevicePolicies(); 759 RetrieveTrustedDevicePolicies();
760 UpdateOwnership();
761 break; 761 break;
762 case chrome::NOTIFICATION_LOGIN_USER_PROFILE_PREPARED: 762 case chrome::NOTIFICATION_LOGIN_USER_PROFILE_PREPARED:
763 if (IsUserLoggedIn() && 763 if (IsUserLoggedIn() &&
764 !IsLoggedInAsGuest() && 764 !IsLoggedInAsGuest() &&
765 !IsLoggedInAsKioskApp()) { 765 !IsLoggedInAsKioskApp()) {
766 Profile* profile = content::Details<Profile>(details).ptr(); 766 Profile* profile = content::Details<Profile>(details).ptr();
767 if (!profile->IsOffTheRecord() && 767 if (!profile->IsOffTheRecord() &&
768 profile == ProfileManager::GetDefaultProfile()) { 768 profile == ProfileManager::GetDefaultProfile()) {
769 // TODO(nkostylev): We should observe all logged in user's profiles. 769 // TODO(nkostylev): We should observe all logged in user's profiles.
770 // http://crbug.com/230860 770 // http://crbug.com/230860
(...skipping 551 matching lines...) Expand 10 before | Expand all | Expand 10 after
1322 content::NotificationService::current()->Notify( 1322 content::NotificationService::current()->Notify(
1323 chrome::NOTIFICATION_LOGIN_USER_CHANGED, 1323 chrome::NOTIFICATION_LOGIN_USER_CHANGED,
1324 content::Source<UserManager>(this), 1324 content::Source<UserManager>(this),
1325 content::Details<const User>(active_user_)); 1325 content::Details<const User>(active_user_));
1326 1326
1327 // Indicate to DeviceSettingsService that the owner key may have become 1327 // Indicate to DeviceSettingsService that the owner key may have become
1328 // available. 1328 // available.
1329 DeviceSettingsService::Get()->SetUsername(active_user_->email()); 1329 DeviceSettingsService::Get()->SetUsername(active_user_->email());
1330 } 1330 }
1331 1331
1332 void UserManagerImpl::UpdateOwnership( 1332 void UserManagerImpl::UpdateOwnership() {
1333 DeviceSettingsService::OwnershipStatus status, 1333 bool is_owner = DeviceSettingsService::Get()->HasPrivateOwnerKey();
1334 bool is_owner) {
1335 VLOG(1) << "Current user " << (is_owner ? "is owner" : "is not owner"); 1334 VLOG(1) << "Current user " << (is_owner ? "is owner" : "is not owner");
1336 1335
1337 SetCurrentUserIsOwner(is_owner); 1336 SetCurrentUserIsOwner(is_owner);
1338 } 1337 }
1339 1338
1340 void UserManagerImpl::CheckOwnership() {
1341 DeviceSettingsService::Get()->GetOwnershipStatusAsync(
1342 base::Bind(&UserManagerImpl::UpdateOwnership,
1343 base::Unretained(this)));
1344 }
1345
1346 void UserManagerImpl::RemoveNonCryptohomeData(const std::string& email) { 1339 void UserManagerImpl::RemoveNonCryptohomeData(const std::string& email) {
1347 WallpaperManager::Get()->RemoveUserWallpaperInfo(email); 1340 WallpaperManager::Get()->RemoveUserWallpaperInfo(email);
1348 user_image_manager_->DeleteUserImage(email); 1341 user_image_manager_->DeleteUserImage(email);
1349 1342
1350 PrefService* prefs = g_browser_process->local_state(); 1343 PrefService* prefs = g_browser_process->local_state();
1351 DictionaryPrefUpdate prefs_oauth_update(prefs, kUserOAuthTokenStatus); 1344 DictionaryPrefUpdate prefs_oauth_update(prefs, kUserOAuthTokenStatus);
1352 int oauth_status; 1345 int oauth_status;
1353 prefs_oauth_update->GetIntegerWithoutPathExpansion(email, &oauth_status); 1346 prefs_oauth_update->GetIntegerWithoutPathExpansion(email, &oauth_status);
1354 prefs_oauth_update->RemoveWithoutPathExpansion(email, NULL); 1347 prefs_oauth_update->RemoveWithoutPathExpansion(email, NULL);
1355 1348
(...skipping 463 matching lines...) Expand 10 before | Expand all | Expand 10 after
1819 base::TimeTicks::Now() - manager_creation_time_; 1812 base::TimeTicks::Now() - manager_creation_time_;
1820 if (!last_email.empty() && email != last_email && 1813 if (!last_email.empty() && email != last_email &&
1821 time_to_login.InSeconds() <= kLogoutToLoginDelayMaxSec) { 1814 time_to_login.InSeconds() <= kLogoutToLoginDelayMaxSec) {
1822 UMA_HISTOGRAM_CUSTOM_COUNTS("UserManager.LogoutToLoginDelay", 1815 UMA_HISTOGRAM_CUSTOM_COUNTS("UserManager.LogoutToLoginDelay",
1823 time_to_login.InSeconds(), 0, kLogoutToLoginDelayMaxSec, 50); 1816 time_to_login.InSeconds(), 0, kLogoutToLoginDelayMaxSec, 50);
1824 } 1817 }
1825 } 1818 }
1826 } 1819 }
1827 1820
1828 } // namespace chromeos 1821 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/user_manager_impl.h ('k') | chrome/browser/chromeos/policy/device_local_account_policy_store.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698