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

Unified Diff: chrome/browser/chromeos/ownership/owner_settings_service_chromeos.cc

Issue 1165323004: We should use UserID object to identify users instead of username. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/ownership/owner_settings_service_chromeos.cc
diff --git a/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.cc b/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.cc
index 20fdd78e8d435fccaeb0ae4fefbe0d16794675b4..ee5aa3375ca6054d698e35b89e9c917ae128d6d4 100644
--- a/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.cc
+++ b/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.cc
@@ -48,7 +48,7 @@ namespace chromeos {
namespace {
-bool IsOwnerInTests(const std::string& user_id) {
+bool IsOwnerInTests(const user_manager::UserID& user_id) {
if (user_id.empty() ||
!base::CommandLine::ForCurrentProcess()->HasSwitch(
::switches::kTestType) ||
@@ -58,7 +58,7 @@ bool IsOwnerInTests(const std::string& user_id) {
const base::Value* value = CrosSettings::Get()->GetPref(kDeviceOwner);
if (!value || value->GetType() != base::Value::TYPE_STRING)
return false;
- return static_cast<const base::StringValue*>(value)->GetString() == user_id;
+ return static_cast<const base::StringValue*>(value)->GetString() == user_id.GetUserEmail();
}
void LoadPrivateKeyByPublicKey(
@@ -196,6 +196,7 @@ OwnerSettingsServiceChromeOS::OwnerSettingsServiceChromeOS(
: ownership::OwnerSettingsService(owner_key_util),
device_settings_service_(device_settings_service),
profile_(profile),
+ user_id_(std::string(), std::string()),
Denis Kuznetsov (DE-MUC) 2015/06/10 16:50:45 EmptyUserId()
waiting_for_profile_creation_(true),
waiting_for_tpm_token_(true),
has_pending_fixups_(false),
@@ -283,7 +284,7 @@ bool OwnerSettingsServiceChromeOS::Set(const std::string& setting,
}
UpdateDeviceSettings(setting, value, settings);
em::PolicyData policy_data;
- policy_data.set_username(user_id_);
+ policy_data.set_username(user_id_.GetUserEmail());
CHECK(settings.SerializeToString(policy_data.mutable_policy_value()));
FOR_EACH_OBSERVER(OwnerSettingsService::Observer, observers_,
OnTentativeChangesInPolicy(policy_data));
@@ -321,9 +322,9 @@ bool OwnerSettingsServiceChromeOS::CommitTentativeDeviceSettings(
scoped_ptr<enterprise_management::PolicyData> policy) {
if (!IsOwner() && !IsOwnerInTests(user_id_))
return false;
- if (policy->username() != user_id_) {
+ if (user_manager::UserID::FromUserEmail(policy->username()) != user_id_) {
LOG(ERROR) << "Username mismatch: " << policy->username() << " vs. "
- << user_id_;
+ << user_id_.GetUserEmail();
return false;
}
tentative_settings_.reset(new em::ChromeDeviceSettingsProto);
@@ -424,7 +425,7 @@ void OwnerSettingsServiceChromeOS::IsOwnerForSafeModeAsync(
// static
scoped_ptr<em::PolicyData> OwnerSettingsServiceChromeOS::AssemblePolicy(
- const std::string& user_id,
+ const user_manager::UserID& user_id,
const em::PolicyData* policy_data,
bool apply_pending_management_settings,
const ManagementSettings& pending_management_settings,
@@ -460,7 +461,7 @@ scoped_ptr<em::PolicyData> OwnerSettingsServiceChromeOS::AssemblePolicy(
policy->set_policy_type(policy::dm_protocol::kChromeDevicePolicyType);
policy->set_timestamp(
(base::Time::Now() - base::Time::UnixEpoch()).InMilliseconds());
- policy->set_username(user_id);
+ policy->set_username(user_id.GetUserEmail());
if (policy_data->management_mode() == em::PolicyData::LOCAL_OWNER ||
policy_data->management_mode() == em::PolicyData::CONSUMER_MANAGED) {
FixupLocalOwnerPolicy(user_id, settings);
@@ -473,7 +474,7 @@ scoped_ptr<em::PolicyData> OwnerSettingsServiceChromeOS::AssemblePolicy(
// static
void OwnerSettingsServiceChromeOS::FixupLocalOwnerPolicy(
- const std::string& user_id,
+ const user_manager::UserID& user_id,
enterprise_management::ChromeDeviceSettingsProto* settings) {
if (!settings->has_allow_new_users())
settings->mutable_allow_new_users()->set_allow_new_users(true);
@@ -481,8 +482,8 @@ void OwnerSettingsServiceChromeOS::FixupLocalOwnerPolicy(
em::UserWhitelistProto* whitelist_proto = settings->mutable_user_whitelist();
if (whitelist_proto->user_whitelist().end() ==
std::find(whitelist_proto->user_whitelist().begin(),
- whitelist_proto->user_whitelist().end(), user_id)) {
- whitelist_proto->add_user_whitelist(user_id);
+ whitelist_proto->user_whitelist().end(), user_id.GetUserEmail())) {
+ whitelist_proto->add_user_whitelist(user_id.GetUserEmail());
}
}
@@ -629,8 +630,10 @@ void OwnerSettingsServiceChromeOS::UpdateDeviceSettings(
i != users->end();
++i) {
std::string email;
- if ((*i)->GetAsString(&email))
- whitelist_proto->add_user_whitelist(email);
+ if ((*i)->GetAsString(&email)) {
+ const user_manager::UserID user_id(user_manager::UserID::FromUserEmail(email));
+ whitelist_proto->add_user_whitelist(user_id.GetUserEmail());
+ }
}
}
} else if (path == kAccountsPrefEphemeralUsersEnabled) {
@@ -716,7 +719,7 @@ void OwnerSettingsServiceChromeOS::OnPostKeypairLoadedActions() {
const user_manager::User* user =
ProfileHelper::Get()->GetUserByProfile(profile_);
- user_id_ = user ? user->GetUserID() : std::string();
+ user_id_ = user ? user->GetUserID() : user_manager::EmptyUserID();
const bool is_owner = IsOwner() || IsOwnerInTests(user_id_);
if (is_owner && device_settings_service_)

Powered by Google App Engine
This is Rietveld 408576698