summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorakuegel@chromium.org <akuegel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-04 09:46:31 +0000
committerakuegel@chromium.org <akuegel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-04 09:46:31 +0000
commit0b4c6b2f63e39c069c80231429025d79ec84b15c (patch)
tree39cde8909f9039399c77d53b63b03665e0ced02f
parentdce153e74e66e411c8b69a7c4a5da800c54f1a52 (diff)
downloadchromium_src-0b4c6b2f63e39c069c80231429025d79ec84b15c.zip
chromium_src-0b4c6b2f63e39c069c80231429025d79ec84b15c.tar.gz
chromium_src-0b4c6b2f63e39c069c80231429025d79ec84b15c.tar.bz2
Use the display name on ChromeOS instead of the profile name.
Add a method to determine the name of a supervised user. So far, we used the profile name, but this doesn't work on ChromeOS. BUG=399320 Review URL: https://codereview.chromium.org/431893004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@287309 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/supervised_user/supervised_user_service.cc15
-rw-r--r--chrome/browser/supervised_user/supervised_user_service.h3
2 files changed, 17 insertions, 1 deletions
diff --git a/chrome/browser/supervised_user/supervised_user_service.cc b/chrome/browser/supervised_user/supervised_user_service.cc
index 07deebf..7c3a310 100644
--- a/chrome/browser/supervised_user/supervised_user_service.cc
+++ b/chrome/browser/supervised_user/supervised_user_service.cc
@@ -620,7 +620,7 @@ void SupervisedUserService::SetActive(bool active) {
settings_service,
SupervisedUserSharedSettingsServiceFactory::GetForBrowserContext(
profile_),
- pref_service->GetString(prefs::kProfileName),
+ GetSupervisedUserName(),
pref_service->GetString(prefs::kSupervisedUserId)));
}
@@ -764,3 +764,16 @@ void SupervisedUserService::OnBrowserSetLastActive(Browser* browser) {
is_profile_active_ = profile_became_active;
}
+
+std::string SupervisedUserService::GetSupervisedUserName() const {
+#if defined(OS_CHROMEOS)
+ // The active user can be NULL in unit tests.
+ if (chromeos::UserManager::Get()->GetActiveUser()) {
+ return UTF16ToUTF8(chromeos::UserManager::Get()->GetUserDisplayName(
+ chromeos::UserManager::Get()->GetActiveUser()->GetUserID()));
+ }
+ return std::string();
+#else
+ return profile_->GetPrefs()->GetString(prefs::kProfileName);
+#endif
+}
diff --git a/chrome/browser/supervised_user/supervised_user_service.h b/chrome/browser/supervised_user/supervised_user_service.h
index a92e34d..5f2d4e6 100644
--- a/chrome/browser/supervised_user/supervised_user_service.h
+++ b/chrome/browser/supervised_user/supervised_user_service.h
@@ -264,6 +264,9 @@ class SupervisedUserService : public KeyedService,
// corresponding preference is changed.
void UpdateManualURLs();
+ // Returns the human readable name of the supervised user.
+ std::string GetSupervisedUserName() const;
+
// Owns us via the KeyedService mechanism.
Profile* profile_;