Chromium Code Reviews| Index: chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.cc |
| diff --git a/chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.cc b/chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.cc |
| index ff817c71a819052790cd7a62732041dbaa7c876c..39073a62c400a1e121b7485ea5a44649883cd9a5 100644 |
| --- a/chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.cc |
| +++ b/chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.cc |
| @@ -4,6 +4,8 @@ |
| #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h" |
| +#include <set> |
| + |
| #include "base/bind.h" |
| #include "base/bind_helpers.h" |
| #include "base/logging.h" |
| @@ -14,6 +16,7 @@ |
| #include "chrome/browser/browser_process.h" |
| #include "chrome/browser/chromeos/login/helper.h" |
| #include "chrome/browser/chromeos/login/session/user_session_manager.h" |
| +#include "chrome/browser/chromeos/login/users/chrome_user_manager_impl.h" |
| #include "chrome/browser/chromeos/policy/policy_oauth2_token_fetcher.h" |
| #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.h" |
| #include "chrome/browser/chromeos/policy/wildcard_login_checker.h" |
| @@ -70,6 +73,14 @@ void OnWildcardCheckCompleted(const std::string& username, |
| } |
| } |
| +std::set<std::string> AffiliationIDsToSet(const em::PolicyData& policy_data) { |
|
Mattias Nissler (ping if slow)
2015/07/29 20:08:13
No need to break out into a separate function.
peletskyi
2015/07/30 11:02:27
Done.
|
| + std::set<std::string> set_of_ids; |
| + for (int i = 0; i < policy_data.user_affiliation_ids_size(); ++i) { |
| + set_of_ids.insert(policy_data.user_affiliation_ids(i)); |
| + } |
|
Mattias Nissler (ping if slow)
2015/07/29 20:08:13
You can just use std::set::insert as noted in the
peletskyi
2015/07/30 11:02:27
Done.
|
| + return set_of_ids; |
| +} |
| + |
| } // namespace |
| UserCloudPolicyManagerChromeOS::UserCloudPolicyManagerChromeOS( |
| @@ -274,6 +285,18 @@ void UserCloudPolicyManagerChromeOS::OnComponentCloudPolicyUpdated() { |
| StartRefreshSchedulerIfReady(); |
| } |
| +void UserCloudPolicyManagerChromeOS::OnStoreLoaded( |
| + CloudPolicyStore* cloud_policy_store) { |
| + CloudPolicyManager::OnStoreLoaded(cloud_policy_store); |
| + |
| + em::PolicyData const* const policy_data = cloud_policy_store->policy(); |
| + if (policy_data && chromeos::ChromeUserManager::Get()) { |
|
Mattias Nissler (ping if slow)
2015/07/29 20:08:13
Add a comment explaining when and why ChromeUserMa
peletskyi
2015/07/30 11:02:27
No case when ChromeUserManager is NULL found. Cond
|
| + LOG(ERROR) << "Add user affiliation_ids for " << policy_data->username(); |
| + chromeos::ChromeUserManager::Get()->SetUserAffiliation( |
| + policy_data->username(), AffiliationIDsToSet(*policy_data)); |
| + } |
| +} |
| + |
| void UserCloudPolicyManagerChromeOS::GetChromePolicy(PolicyMap* policy_map) { |
| CloudPolicyManager::GetChromePolicy(policy_map); |