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

Side by Side Diff: components/user_manager/user_manager_base.cc

Issue 2423353002: Reduce usage of FOR_EACH_OBSERVER macro in components/ (Closed)
Patch Set: Created 4 years, 2 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
« no previous file with comments | « components/proximity_auth/screenlock_bridge.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "components/user_manager/user_manager_base.h" 5 #include "components/user_manager/user_manager_base.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <set> 8 #include <set>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 659 matching lines...) Expand 10 before | Expand all | Expand 10 after
670 } 670 }
671 671
672 void UserManagerBase::RemoveSessionStateObserver( 672 void UserManagerBase::RemoveSessionStateObserver(
673 UserManager::UserSessionStateObserver* obs) { 673 UserManager::UserSessionStateObserver* obs) {
674 DCHECK(task_runner_->RunsTasksOnCurrentThread()); 674 DCHECK(task_runner_->RunsTasksOnCurrentThread());
675 session_state_observer_list_.RemoveObserver(obs); 675 session_state_observer_list_.RemoveObserver(obs);
676 } 676 }
677 677
678 void UserManagerBase::NotifyLocalStateChanged() { 678 void UserManagerBase::NotifyLocalStateChanged() {
679 DCHECK(task_runner_->RunsTasksOnCurrentThread()); 679 DCHECK(task_runner_->RunsTasksOnCurrentThread());
680 FOR_EACH_OBSERVER( 680 for (auto& observer : observer_list_)
681 UserManager::Observer, observer_list_, LocalStateChanged(this)); 681 observer.LocalStateChanged(this);
682 } 682 }
683 683
684 bool UserManagerBase::CanUserBeRemoved(const User* user) const { 684 bool UserManagerBase::CanUserBeRemoved(const User* user) const {
685 // Only regular and supervised users are allowed to be manually removed. 685 // Only regular and supervised users are allowed to be manually removed.
686 if (!user || !(user->HasGaiaAccount() || user->IsSupervised())) 686 if (!user || !(user->HasGaiaAccount() || user->IsSupervised()))
687 return false; 687 return false;
688 688
689 // Sanity check: we must not remove single user unless it's an enterprise 689 // Sanity check: we must not remove single user unless it's an enterprise
690 // device. This check may seem redundant at a first sight because 690 // device. This check may seem redundant at a first sight because
691 // this single user must be an owner and we perform special check later 691 // this single user must be an owner and we perform special check later
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after
970 } 970 }
971 ++it; 971 ++it;
972 } 972 }
973 } 973 }
974 OnUserRemoved(account_id); 974 OnUserRemoved(account_id);
975 return user; 975 return user;
976 } 976 }
977 977
978 void UserManagerBase::NotifyActiveUserChanged(const User* active_user) { 978 void UserManagerBase::NotifyActiveUserChanged(const User* active_user) {
979 DCHECK(task_runner_->RunsTasksOnCurrentThread()); 979 DCHECK(task_runner_->RunsTasksOnCurrentThread());
980 FOR_EACH_OBSERVER(UserManager::UserSessionStateObserver, 980 for (auto& observer : session_state_observer_list_)
981 session_state_observer_list_, 981 observer.ActiveUserChanged(active_user);
982 ActiveUserChanged(active_user));
983 } 982 }
984 983
985 void UserManagerBase::NotifyUserAddedToSession(const User* added_user, 984 void UserManagerBase::NotifyUserAddedToSession(const User* added_user,
986 bool user_switch_pending) { 985 bool user_switch_pending) {
987 DCHECK(task_runner_->RunsTasksOnCurrentThread()); 986 DCHECK(task_runner_->RunsTasksOnCurrentThread());
988 FOR_EACH_OBSERVER(UserManager::UserSessionStateObserver, 987 for (auto& observer : session_state_observer_list_)
989 session_state_observer_list_, 988 observer.UserAddedToSession(added_user);
990 UserAddedToSession(added_user));
991 } 989 }
992 990
993 void UserManagerBase::NotifyActiveUserHashChanged(const std::string& hash) { 991 void UserManagerBase::NotifyActiveUserHashChanged(const std::string& hash) {
994 DCHECK(task_runner_->RunsTasksOnCurrentThread()); 992 DCHECK(task_runner_->RunsTasksOnCurrentThread());
995 FOR_EACH_OBSERVER(UserManager::UserSessionStateObserver, 993 for (auto& observer : session_state_observer_list_)
996 session_state_observer_list_, 994 observer.ActiveUserHashChanged(hash);
997 ActiveUserHashChanged(hash));
998 } 995 }
999 996
1000 void UserManagerBase::ChangeUserChildStatus(User* user, bool is_child) { 997 void UserManagerBase::ChangeUserChildStatus(User* user, bool is_child) {
1001 DCHECK(task_runner_->RunsTasksOnCurrentThread()); 998 DCHECK(task_runner_->RunsTasksOnCurrentThread());
1002 if (user->IsSupervised() == is_child) 999 if (user->IsSupervised() == is_child)
1003 return; 1000 return;
1004 user->SetIsChild(is_child); 1001 user->SetIsChild(is_child);
1005 SaveUserType(user->GetAccountId(), is_child 1002 SaveUserType(user->GetAccountId(), is_child
1006 ? user_manager::USER_TYPE_CHILD 1003 ? user_manager::USER_TYPE_CHILD
1007 : user_manager::USER_TYPE_REGULAR); 1004 : user_manager::USER_TYPE_REGULAR);
1008 FOR_EACH_OBSERVER(UserManager::UserSessionStateObserver, 1005 for (auto& observer : session_state_observer_list_)
1009 session_state_observer_list_, 1006 observer.UserChangedChildStatus(user);
1010 UserChangedChildStatus(user));
1011 } 1007 }
1012 1008
1013 void UserManagerBase::Initialize() { 1009 void UserManagerBase::Initialize() {
1014 UserManager::Initialize(); 1010 UserManager::Initialize();
1015 CallUpdateLoginState(); 1011 CallUpdateLoginState();
1016 } 1012 }
1017 1013
1018 void UserManagerBase::CallUpdateLoginState() { 1014 void UserManagerBase::CallUpdateLoginState() {
1019 UpdateLoginState(active_user_, primary_user_, is_current_user_owner_); 1015 UpdateLoginState(active_user_, primary_user_, is_current_user_owner_);
1020 } 1016 }
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
1076 } 1072 }
1077 1073
1078 void UserManagerBase::DeleteUser(User* user) { 1074 void UserManagerBase::DeleteUser(User* user) {
1079 const bool is_active_user = (user == active_user_); 1075 const bool is_active_user = (user == active_user_);
1080 delete user; 1076 delete user;
1081 if (is_active_user) 1077 if (is_active_user)
1082 active_user_ = nullptr; 1078 active_user_ = nullptr;
1083 } 1079 }
1084 1080
1085 } // namespace user_manager 1081 } // namespace user_manager
OLDNEW
« no previous file with comments | « components/proximity_auth/screenlock_bridge.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698