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

Unified Diff: chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc

Issue 11308081: cros: Account picker UI for public account. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: for comments in #3 Created 8 years 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/ui/webui/chromeos/login/signin_screen_handler.cc
diff --git a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
index 140ecbaedb7460e0cc398cbf6546d27dd23696ce..9abf8678e4d09675ebd5ae81c8d8972824ce4010 100644
--- a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
@@ -67,7 +67,9 @@ const char kGaiaExtStartPageOffline[] =
const char kKeyUsername[] = "username";
const char kKeyDisplayName[] = "displayName";
const char kKeyEmailAddress[] = "emailAddress";
+const char kKeyEnterpriseDomain[] = "enterpriseDomain";
const char kKeyNameTooltip[] = "nameTooltip";
+const char kKeyPublicAccount[] = "publicAccount";
const char kKeySignedIn[] = "signedIn";
const char kKeyCanRemove[] = "canRemove";
const char kKeyOauthTokenStatus[] = "oauthTokenStatus";
@@ -104,7 +106,7 @@ void UpdateAuthParamsFromSettings(DictionaryValue* params,
params->SetBoolean("guestSignin", allow_guest);
}
-} // namespace
+} // namespace
// SigninScreenHandler implementation ------------------------------------------
@@ -195,6 +197,13 @@ void SigninScreenHandler::GetLocalizedStrings(
IDS_DISABLED_ADD_USER_TOOLTIP_ENTERPRISE :
IDS_DISABLED_ADD_USER_TOOLTIP));
+ localized_strings->SetString("publicAccountInfoFormat",
+ l10n_util::GetStringUTF16(IDS_LOGIN_PUBLIC_ACCOUNT_INFO_FORMAT));
+ localized_strings->SetString("publicAccountReminder",
+ l10n_util::GetStringUTF16(IDS_LOGIN_PUBLIC_ACCOUNT_SIGNOUT_REMINDER));
+ localized_strings->SetString("publicAccountEnter",
+ l10n_util::GetStringUTF16(IDS_LOGIN_PUBLIC_ACCOUNT_ENTER));
+
if (chromeos::KioskModeSettings::Get()->IsKioskModeEnabled()) {
localized_strings->SetString("demoLoginMessage",
l10n_util::GetStringUTF16(IDS_KIOSK_MODE_LOGIN_MESSAGE));
@@ -288,6 +297,9 @@ void SigninScreenHandler::RegisterMessages() {
web_ui()->RegisterMessageCallback("launchIncognito",
base::Bind(&SigninScreenHandler::HandleLaunchIncognito,
base::Unretained(this)));
+ web_ui()->RegisterMessageCallback("launchPublicAccount",
+ base::Bind(&SigninScreenHandler::HandleLaunchPublicAccount,
+ base::Unretained(this)));
web_ui()->RegisterMessageCallback("offlineLogin",
base::Bind(&SigninScreenHandler::HandleOfflineLogin,
base::Unretained(this)));
@@ -623,6 +635,11 @@ void SigninScreenHandler::HandleLaunchIncognito(const base::ListValue* args) {
delegate_->LoginAsGuest();
}
+void SigninScreenHandler::HandleLaunchPublicAccount(
+ const base::ListValue* args) {
+ // TODO(bartfab): Wire this with real public account signin.
+}
+
void SigninScreenHandler::HandleOfflineLogin(const base::ListValue* args) {
if (!delegate_ || delegate_->IsShowUsers()) {
NOTREACHED();
@@ -735,6 +752,7 @@ void SigninScreenHandler::SendUserList(bool animated) {
std::string owner;
chromeos::CrosSettings::Get()->GetString(chromeos::kDeviceOwner, &owner);
bool is_owner = (email == owner);
+ bool public_account = ((*it)->GetType() == User::USER_TYPE_PUBLIC_ACCOUNT);
bool signed_in = *it == UserManager::Get()->GetLoggedInUser();
if (non_owner_count < max_non_owner_users || is_owner) {
@@ -743,9 +761,20 @@ void SigninScreenHandler::SendUserList(bool animated) {
user_dict->SetString(kKeyEmailAddress, (*it)->display_email());
user_dict->SetString(kKeyDisplayName, (*it)->GetDisplayName());
user_dict->SetString(kKeyNameTooltip, (*it)->display_email());
+ user_dict->SetBoolean(kKeyPublicAccount, public_account);
user_dict->SetInteger(kKeyOauthTokenStatus, (*it)->oauth_token_status());
user_dict->SetBoolean(kKeySignedIn, signed_in);
+ if (public_account) {
+ policy::BrowserPolicyConnector* policy_connector =
+ g_browser_process->browser_policy_connector();
+
+ if (policy_connector->IsEnterpriseManaged()) {
+ user_dict->SetString(kKeyEnterpriseDomain,
+ policy_connector->GetEnterpriseDomain());
+ }
+ }
+
// Single user check here is necessary because owner info might not be
// available when running into login screen on first boot.
// See http://crosbug.com/12723
@@ -753,6 +782,7 @@ void SigninScreenHandler::SendUserList(bool animated) {
!single_user &&
!email.empty() &&
!is_owner &&
+ !public_account &&
!signed_in);
users_list.Append(user_dict);

Powered by Google App Engine
This is Rietveld 408576698