Home | History | Annotate | Download | only in chromeos
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "chrome/browser/ui/webui/chromeos/ui_account_tweaks.h"
      6 
      7 #include "base/strings/utf_string_conversions.h"
      8 #include "base/values.h"
      9 #include "chrome/browser/chromeos/profiles/profile_helper.h"
     10 #include "chrome/browser/chromeos/settings/cros_settings.h"
     11 #include "chromeos/settings/cros_settings_names.h"
     12 #include "components/user_manager/user_manager.h"
     13 #include "content/public/browser/web_ui_data_source.h"
     14 
     15 namespace chromeos {
     16 
     17 void AddAccountUITweaksLocalizedValues(
     18     base::DictionaryValue* localized_strings,
     19     Profile* profile) {
     20   DCHECK(localized_strings);
     21 
     22   std::string owner_email;
     23   CrosSettings::Get()->GetString(kDeviceOwner, &owner_email);
     24   // Translate owner's email to the display email.
     25   std::string display_email =
     26       user_manager::UserManager::Get()->GetUserDisplayEmail(owner_email);
     27   localized_strings->SetString("ownerUserId", display_email);
     28 
     29   localized_strings->SetBoolean("currentUserIsOwner",
     30       ProfileHelper::IsOwnerProfile(profile));
     31 
     32   localized_strings->SetBoolean(
     33       "loggedInAsGuest", user_manager::UserManager::Get()->IsLoggedInAsGuest());
     34 
     35   localized_strings->SetBoolean(
     36       "loggedInAsSupervisedUser",
     37       user_manager::UserManager::Get()->IsLoggedInAsSupervisedUser());
     38 
     39   localized_strings->SetBoolean(
     40       "loggedInAsPublicAccount",
     41       user_manager::UserManager::Get()->IsLoggedInAsPublicAccount());
     42 }
     43 
     44 void AddAccountUITweaksLocalizedValues(
     45     content::WebUIDataSource* source,
     46     Profile* profile) {
     47   DCHECK(source);
     48   base::DictionaryValue dict;
     49   AddAccountUITweaksLocalizedValues(&dict, profile);
     50   source->AddLocalizedStrings(dict);
     51 }
     52 
     53 }  // namespace chromeos
     54