summaryrefslogtreecommitdiffstats
path: root/components/user_manager
diff options
context:
space:
mode:
authorpeletskyi <peletskyi@chromium.org>2015-07-31 09:23:58 -0700
committerCommit bot <commit-bot@chromium.org>2015-07-31 16:24:29 +0000
commit2b8c9d2366a7480bcd003fcd87e073b6bb89b11b (patch)
treebaacb2256bdbf3ddd8fb3faa3ad392601c2635e7 /components/user_manager
parent0e119884df53589ff1a2fe109fe09a7b8e7dac1d (diff)
downloadchromium_src-2b8c9d2366a7480bcd003fcd87e073b6bb89b11b.zip
chromium_src-2b8c9d2366a7480bcd003fcd87e073b6bb89b11b.tar.gz
chromium_src-2b8c9d2366a7480bcd003fcd87e073b6bb89b11b.tar.bz2
This CL is devoted to implement sending report based on affiliation IDs. This is the first feature that uses affiliation IDs instead of comparison of email and enterprise domain.
BUG=491210 Review URL: https://codereview.chromium.org/1268793002 Cr-Commit-Position: refs/heads/master@{#341343}
Diffstat (limited to 'components/user_manager')
-rw-r--r--components/user_manager/fake_user_manager.cc6
-rw-r--r--components/user_manager/fake_user_manager.h9
-rw-r--r--components/user_manager/user_manager_base.cc2
-rw-r--r--components/user_manager/user_manager_base.h3
4 files changed, 19 insertions, 1 deletions
diff --git a/components/user_manager/fake_user_manager.cc b/components/user_manager/fake_user_manager.cc
index 5e8d561..39f63f1 100644
--- a/components/user_manager/fake_user_manager.cc
+++ b/components/user_manager/fake_user_manager.cc
@@ -39,7 +39,13 @@ FakeUserManager::~FakeUserManager() {
}
const user_manager::User* FakeUserManager::AddUser(const std::string& email) {
+ return AddUserWithAffiliation(email, false);
+}
+
+const user_manager::User* FakeUserManager::AddUserWithAffiliation(
+ const std::string& email, bool is_affiliated) {
user_manager::User* user = user_manager::User::CreateRegularUser(email);
+ user->set_affiliation(is_affiliated);
users_.push_back(user);
return user;
}
diff --git a/components/user_manager/fake_user_manager.h b/components/user_manager/fake_user_manager.h
index c71df24e..a40eed6 100644
--- a/components/user_manager/fake_user_manager.h
+++ b/components/user_manager/fake_user_manager.h
@@ -21,9 +21,15 @@ class USER_MANAGER_EXPORT FakeUserManager : public UserManagerBase {
FakeUserManager();
~FakeUserManager() override;
- // Create and add a new user.
+ // Create and add a new user. Created user is not affiliated with the domain,
+ // that owns the device.
virtual const user_manager::User* AddUser(const std::string& email);
+ // The same as AddUser() but allows to specify user affiliation with the
+ // domain, that owns the device.
+ virtual const user_manager::User* AddUserWithAffiliation(
+ const std::string& email, bool is_affiliated);
+
// Calculates the user name hash and calls UserLoggedIn to login a user.
void LoginUser(const std::string& email);
@@ -111,6 +117,7 @@ class USER_MANAGER_EXPORT FakeUserManager : public UserManagerBase {
void KioskAppLoggedIn(const std::string& app_id) override {}
void PublicAccountUserLoggedIn(user_manager::User* user) override {}
void SupervisedUserLoggedIn(const std::string& user_id) override {}
+ void OnUserRemoved(const std::string& user_id) override {}
protected:
user_manager::User* primary_user_;
diff --git a/components/user_manager/user_manager_base.cc b/components/user_manager/user_manager_base.cc
index b93d023..4dcf521 100644
--- a/components/user_manager/user_manager_base.cc
+++ b/components/user_manager/user_manager_base.cc
@@ -381,6 +381,7 @@ void UserManagerBase::RemoveUserFromList(const std::string& user_id) {
// boostrapping user during user list loading.
ListPrefUpdate users_update(GetLocalState(), kRegularUsers);
users_update->Remove(base::StringValue(user_id), NULL);
+ OnUserRemoved(user_id);
} else {
NOTREACHED() << "Users are not loaded yet.";
return;
@@ -1200,6 +1201,7 @@ User* UserManagerBase::RemoveRegularOrSupervisedUserFromList(
++it;
}
}
+ OnUserRemoved(user_id);
return user;
}
diff --git a/components/user_manager/user_manager_base.h b/components/user_manager/user_manager_base.h
index 1a1370e..aa81f1a 100644
--- a/components/user_manager/user_manager_base.h
+++ b/components/user_manager/user_manager_base.h
@@ -276,6 +276,9 @@ class USER_MANAGER_EXPORT UserManagerBase : public UserManager {
// Indicates that a supervised user just logged in.
virtual void SupervisedUserLoggedIn(const std::string& user_id) = 0;
+ // Should be called when regular user was removed.
+ virtual void OnUserRemoved(const std::string& user_id) = 0;
+
// Getters/setters for private members.
virtual void SetCurrentUserIsOwner(bool is_current_user_owner);