diff options
author | akuegel@chromium.org <akuegel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-04 09:46:31 +0000 |
---|---|---|
committer | akuegel@chromium.org <akuegel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-04 09:46:31 +0000 |
commit | 0b4c6b2f63e39c069c80231429025d79ec84b15c (patch) | |
tree | 39cde8909f9039399c77d53b63b03665e0ced02f | |
parent | dce153e74e66e411c8b69a7c4a5da800c54f1a52 (diff) | |
download | chromium_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.cc | 15 | ||||
-rw-r--r-- | chrome/browser/supervised_user/supervised_user_service.h | 3 |
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_; |