Index: chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc |
diff --git a/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc b/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc |
index 6cdf4b8b7590d1bf93e697480f119cf4516a0d63..8d87749e8ad451d106615daeb02b8ad94dba5e3e 100644 |
--- a/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc |
+++ b/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc |
@@ -29,6 +29,7 @@ |
#include "chrome/browser/chromeos/login/session/user_session_manager.h" |
#include "chrome/browser/chromeos/login/signin/auth_sync_observer.h" |
#include "chrome/browser/chromeos/login/signin/auth_sync_observer_factory.h" |
+#include "chrome/browser/chromeos/login/users/affiliation.h" |
#include "chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h" |
#include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h" |
#include "chrome/browser/chromeos/login/users/supervised_user_manager_impl.h" |
@@ -94,6 +95,7 @@ void ChromeUserManagerImpl::RegisterPrefs(PrefRegistrySimple* registry) { |
registry->RegisterListPref(kPublicAccounts); |
registry->RegisterStringPref(kPublicAccountPendingDataRemoval, std::string()); |
+ |
SupervisedUserManager::RegisterPrefs(registry); |
SessionLengthLimiter::RegisterPrefs(registry); |
BootstrapManager::RegisterPrefs(registry); |
@@ -1121,4 +1123,20 @@ void ChromeUserManagerImpl::UpdateUserTimeZoneRefresher(Profile* profile) { |
} |
} |
+void ChromeUserManagerImpl::SetUserAffiliation( |
+ const std::string& user_email, |
+ const AffiliationIDSet& user_affiliation_ids) { |
+ std::string canonicalized_email = |
+ gaia::CanonicalizeEmail(gaia::SanitizeEmail(user_email)); |
+ user_manager::User* user = FindUserAndModify(canonicalized_email); |
+ |
+ if (user) { |
+ policy::BrowserPolicyConnectorChromeOS const* const connector = |
+ g_browser_process->platform_part()->browser_policy_connector_chromeos(); |
+ user->set_affiliation(chromeos::IsUserAffiliated( |
+ user_affiliation_ids, connector->GetDeviceAffiliationIDs(), |
+ canonicalized_email, connector->GetEnterpriseDomain())); |
+ } |
+} |
+ |
} // namespace chromeos |