Chromium Code Reviews| Index: chrome/browser/policy/browser_policy_connector.cc |
| diff --git a/chrome/browser/policy/browser_policy_connector.cc b/chrome/browser/policy/browser_policy_connector.cc |
| index 288698853607cba13d1b8f39eadbe8e9f12aa5c0..a8f57fdf1b0eeab917a2d7f64ce8b96d87c92dd5 100644 |
| --- a/chrome/browser/policy/browser_policy_connector.cc |
| +++ b/chrome/browser/policy/browser_policy_connector.cc |
| @@ -4,6 +4,8 @@ |
| #include "chrome/browser/policy/browser_policy_connector.h" |
| +#include <string> |
|
Joao da Silva
2011/08/31 15:14:44
Nit: already included in .h
|
| + |
| #include "base/command_line.h" |
| #include "base/path_service.h" |
| #include "chrome/browser/net/gaia/token_service.h" |
| @@ -213,6 +215,8 @@ void BrowserPolicyConnector::InitializeUserPolicy(const std::string& user_name, |
| user_policy_token_cache_->Load(); |
| user_data_store_->set_user_name(user_name); |
| + user_data_store_->set_user_affiliation(GetUserAffiliation(user_name)); |
| + |
| if (token_service_ && |
| token_service_->HasTokenForService( |
| GaiaConstants::kDeviceManagementService)) { |
| @@ -337,6 +341,21 @@ void BrowserPolicyConnector::InitializeDevicePolicySubsystem() { |
| #endif |
| } |
| +CloudPolicyDataStore::UserAffiliation |
| + BrowserPolicyConnector::GetUserAffiliation(const std::string& user_name) { |
| +#if defined(OS_CHROMEOS) |
| + if (install_attributes_.get()) { |
| + size_t pos = user_name.find('@'); |
| + if (pos != std::string::npos && |
| + user_name.substr(pos + 1) == install_attributes_->GetDomain()) { |
| + return CloudPolicyDataStore::USER_AFFILIATION_MANAGED; |
| + } |
| + } |
| +#endif |
| + |
| + return CloudPolicyDataStore::USER_AFFILIATION_NONE; |
| +} |
| + |
| // static |
| BrowserPolicyConnector* BrowserPolicyConnector::CreateForTests() { |
| const ConfigurationPolicyProvider::PolicyDefinitionList* |