Upstream version 9.37.197.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / supervised_user / supervised_user_service.cc
index d20661e..dfc1e16 100644 (file)
@@ -593,7 +593,7 @@ void SupervisedUserService::SetActive(bool active) {
           settings_service,
           SupervisedUserSharedSettingsServiceFactory::GetForBrowserContext(
               profile_),
-          pref_service->GetString(prefs::kProfileName),
+          GetSupervisedUserName(),
           pref_service->GetString(prefs::kSupervisedUserId)));
     }
 
@@ -748,3 +748,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
+}