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

Side by Side 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: reupload 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h" 5 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 const char kGaiaExtStartPage[] = 60 const char kGaiaExtStartPage[] =
61 "chrome-extension://mfffpogegjflfpflabcdkioaeobkgjik/main.html"; 61 "chrome-extension://mfffpogegjflfpflabcdkioaeobkgjik/main.html";
62 // Same as above but offline version. 62 // Same as above but offline version.
63 const char kGaiaExtStartPageOffline[] = 63 const char kGaiaExtStartPageOffline[] =
64 "chrome-extension://mfffpogegjflfpflabcdkioaeobkgjik/offline.html"; 64 "chrome-extension://mfffpogegjflfpflabcdkioaeobkgjik/offline.html";
65 65
66 // User dictionary keys. 66 // User dictionary keys.
67 const char kKeyUsername[] = "username"; 67 const char kKeyUsername[] = "username";
68 const char kKeyDisplayName[] = "displayName"; 68 const char kKeyDisplayName[] = "displayName";
69 const char kKeyEmailAddress[] = "emailAddress"; 69 const char kKeyEmailAddress[] = "emailAddress";
70 const char kKeyEnterpriseDomain[] = "enterpriseDomain";
70 const char kKeyNameTooltip[] = "nameTooltip"; 71 const char kKeyNameTooltip[] = "nameTooltip";
71 const char kKeyPublicAccount[] = "publicAccount"; 72 const char kKeyPublicAccount[] = "publicAccount";
72 const char kKeySignedIn[] = "signedIn"; 73 const char kKeySignedIn[] = "signedIn";
73 const char kKeyCanRemove[] = "canRemove"; 74 const char kKeyCanRemove[] = "canRemove";
74 const char kKeyOauthTokenStatus[] = "oauthTokenStatus"; 75 const char kKeyOauthTokenStatus[] = "oauthTokenStatus";
75 76
76 // Max number of users to show. 77 // Max number of users to show.
77 const size_t kMaxUsers = 5; 78 const size_t kMaxUsers = 5;
78 79
79 // The Task posted to PostTaskAndReply in StartClearingDnsCache on the IO 80 // The Task posted to PostTaskAndReply in StartClearingDnsCache on the IO
(...skipping 18 matching lines...) Expand all
98 const CrosSettings* cros_settings) { 99 const CrosSettings* cros_settings) {
99 bool allow_new_user = true; 100 bool allow_new_user = true;
100 cros_settings->GetBoolean(kAccountsPrefAllowNewUser, &allow_new_user); 101 cros_settings->GetBoolean(kAccountsPrefAllowNewUser, &allow_new_user);
101 bool allow_guest = true; 102 bool allow_guest = true;
102 cros_settings->GetBoolean(kAccountsPrefAllowGuest, &allow_guest); 103 cros_settings->GetBoolean(kAccountsPrefAllowGuest, &allow_guest);
103 // Account creation depends on Guest sign-in (http://crosbug.com/24570). 104 // Account creation depends on Guest sign-in (http://crosbug.com/24570).
104 params->SetBoolean("createAccount", allow_new_user && allow_guest); 105 params->SetBoolean("createAccount", allow_new_user && allow_guest);
105 params->SetBoolean("guestSignin", allow_guest); 106 params->SetBoolean("guestSignin", allow_guest);
106 } 107 }
107 108
108 } // namespace 109 } // namespace
109 110
110 // SigninScreenHandler implementation ------------------------------------------ 111 // SigninScreenHandler implementation ------------------------------------------
111 112
112 SigninScreenHandler::SigninScreenHandler( 113 SigninScreenHandler::SigninScreenHandler(
113 const scoped_refptr<NetworkStateInformer>& network_state_informer) 114 const scoped_refptr<NetworkStateInformer>& network_state_informer)
114 : delegate_(NULL), 115 : delegate_(NULL),
115 native_window_delegate_(NULL), 116 native_window_delegate_(NULL),
116 show_on_init_(false), 117 show_on_init_(false),
117 oobe_ui_(false), 118 oobe_ui_(false),
118 focus_stolen_(false), 119 focus_stolen_(false),
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 localized_strings->SetString("errorTpmFailureReboot", 190 localized_strings->SetString("errorTpmFailureReboot",
190 l10n_util::GetStringFUTF16( 191 l10n_util::GetStringFUTF16(
191 IDS_LOGIN_ERROR_TPM_FAILURE_REBOOT, 192 IDS_LOGIN_ERROR_TPM_FAILURE_REBOOT,
192 l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME))); 193 l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME)));
193 localized_strings->SetString("disabledAddUserTooltip", 194 localized_strings->SetString("disabledAddUserTooltip",
194 l10n_util::GetStringUTF16( 195 l10n_util::GetStringUTF16(
195 g_browser_process->browser_policy_connector()->IsEnterpriseManaged() ? 196 g_browser_process->browser_policy_connector()->IsEnterpriseManaged() ?
196 IDS_DISABLED_ADD_USER_TOOLTIP_ENTERPRISE : 197 IDS_DISABLED_ADD_USER_TOOLTIP_ENTERPRISE :
197 IDS_DISABLED_ADD_USER_TOOLTIP)); 198 IDS_DISABLED_ADD_USER_TOOLTIP));
198 199
200 localized_strings->SetString("publicAccountInfoFormat",
201 l10n_util::GetStringUTF16(IDS_LOGIN_PUBLIC_ACCOUNT_INFO_FORMAT));
202 localized_strings->SetString("publicAccountReminder",
203 l10n_util::GetStringUTF16(IDS_LOGIN_PUBLIC_ACCOUNT_SIGNOUT_REMINDER));
204 localized_strings->SetString("publicAccountEnter",
205 l10n_util::GetStringUTF16(IDS_LOGIN_PUBLIC_ACCOUNT_ENTER));
206
199 if (chromeos::KioskModeSettings::Get()->IsKioskModeEnabled()) { 207 if (chromeos::KioskModeSettings::Get()->IsKioskModeEnabled()) {
200 localized_strings->SetString("demoLoginMessage", 208 localized_strings->SetString("demoLoginMessage",
201 l10n_util::GetStringUTF16(IDS_KIOSK_MODE_LOGIN_MESSAGE)); 209 l10n_util::GetStringUTF16(IDS_KIOSK_MODE_LOGIN_MESSAGE));
202 } 210 }
203 } 211 }
204 212
205 void SigninScreenHandler::Show(bool oobe_ui) { 213 void SigninScreenHandler::Show(bool oobe_ui) {
206 CHECK(delegate_); 214 CHECK(delegate_);
207 oobe_ui_ = oobe_ui; 215 oobe_ui_ = oobe_ui;
208 if (!page_is_ready()) { 216 if (!page_is_ready()) {
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
282 base::Unretained(this))); 290 base::Unretained(this)));
283 web_ui()->RegisterMessageCallback("getUsers", 291 web_ui()->RegisterMessageCallback("getUsers",
284 base::Bind(&SigninScreenHandler::HandleGetUsers, 292 base::Bind(&SigninScreenHandler::HandleGetUsers,
285 base::Unretained(this))); 293 base::Unretained(this)));
286 web_ui()->RegisterMessageCallback("launchDemoUser", 294 web_ui()->RegisterMessageCallback("launchDemoUser",
287 base::Bind(&SigninScreenHandler::HandleLaunchDemoUser, 295 base::Bind(&SigninScreenHandler::HandleLaunchDemoUser,
288 base::Unretained(this))); 296 base::Unretained(this)));
289 web_ui()->RegisterMessageCallback("launchIncognito", 297 web_ui()->RegisterMessageCallback("launchIncognito",
290 base::Bind(&SigninScreenHandler::HandleLaunchIncognito, 298 base::Bind(&SigninScreenHandler::HandleLaunchIncognito,
291 base::Unretained(this))); 299 base::Unretained(this)));
300 web_ui()->RegisterMessageCallback("launchPublicAccount",
301 base::Bind(&SigninScreenHandler::HandleLaunchPublicAccount,
302 base::Unretained(this)));
292 web_ui()->RegisterMessageCallback("offlineLogin", 303 web_ui()->RegisterMessageCallback("offlineLogin",
293 base::Bind(&SigninScreenHandler::HandleOfflineLogin, 304 base::Bind(&SigninScreenHandler::HandleOfflineLogin,
294 base::Unretained(this))); 305 base::Unretained(this)));
295 web_ui()->RegisterMessageCallback("showAddUser", 306 web_ui()->RegisterMessageCallback("showAddUser",
296 base::Bind(&SigninScreenHandler::HandleShowAddUser, 307 base::Bind(&SigninScreenHandler::HandleShowAddUser,
297 base::Unretained(this))); 308 base::Unretained(this)));
298 web_ui()->RegisterMessageCallback("shutdownSystem", 309 web_ui()->RegisterMessageCallback("shutdownSystem",
299 base::Bind(&SigninScreenHandler::HandleShutdownSystem, 310 base::Bind(&SigninScreenHandler::HandleShutdownSystem,
300 base::Unretained(this))); 311 base::Unretained(this)));
301 web_ui()->RegisterMessageCallback("loadWallpaper", 312 web_ui()->RegisterMessageCallback("loadWallpaper",
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after
617 void SigninScreenHandler::HandleLaunchDemoUser(const base::ListValue* args) { 628 void SigninScreenHandler::HandleLaunchDemoUser(const base::ListValue* args) {
618 if (delegate_) 629 if (delegate_)
619 delegate_->LoginAsRetailModeUser(); 630 delegate_->LoginAsRetailModeUser();
620 } 631 }
621 632
622 void SigninScreenHandler::HandleLaunchIncognito(const base::ListValue* args) { 633 void SigninScreenHandler::HandleLaunchIncognito(const base::ListValue* args) {
623 if (delegate_) 634 if (delegate_)
624 delegate_->LoginAsGuest(); 635 delegate_->LoginAsGuest();
625 } 636 }
626 637
638 void SigninScreenHandler::HandleLaunchPublicAccount(
639 const base::ListValue* args) {
640 // TODO(bartfab): Wire this with real public account signin.
641 }
642
627 void SigninScreenHandler::HandleOfflineLogin(const base::ListValue* args) { 643 void SigninScreenHandler::HandleOfflineLogin(const base::ListValue* args) {
628 if (!delegate_ || delegate_->IsShowUsers()) { 644 if (!delegate_ || delegate_->IsShowUsers()) {
629 NOTREACHED(); 645 NOTREACHED();
630 return; 646 return;
631 } 647 }
632 if (!args->GetString(0, &email_)) 648 if (!args->GetString(0, &email_))
633 email_.clear(); 649 email_.clear();
634 650
635 // Load auth extension. Parameters are: force reload, do not load extension in 651 // Load auth extension. Parameters are: force reload, do not load extension in
636 // background, use offline version. 652 // background, use offline version.
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
742 if (non_owner_count < max_non_owner_users || is_owner) { 758 if (non_owner_count < max_non_owner_users || is_owner) {
743 DictionaryValue* user_dict = new DictionaryValue(); 759 DictionaryValue* user_dict = new DictionaryValue();
744 user_dict->SetString(kKeyUsername, email); 760 user_dict->SetString(kKeyUsername, email);
745 user_dict->SetString(kKeyEmailAddress, (*it)->display_email()); 761 user_dict->SetString(kKeyEmailAddress, (*it)->display_email());
746 user_dict->SetString(kKeyDisplayName, (*it)->GetDisplayName()); 762 user_dict->SetString(kKeyDisplayName, (*it)->GetDisplayName());
747 user_dict->SetString(kKeyNameTooltip, (*it)->display_email()); 763 user_dict->SetString(kKeyNameTooltip, (*it)->display_email());
748 user_dict->SetBoolean(kKeyPublicAccount, public_account); 764 user_dict->SetBoolean(kKeyPublicAccount, public_account);
749 user_dict->SetInteger(kKeyOauthTokenStatus, (*it)->oauth_token_status()); 765 user_dict->SetInteger(kKeyOauthTokenStatus, (*it)->oauth_token_status());
750 user_dict->SetBoolean(kKeySignedIn, signed_in); 766 user_dict->SetBoolean(kKeySignedIn, signed_in);
751 767
768 if (public_account) {
769 policy::BrowserPolicyConnector* policy_connector =
770 g_browser_process->browser_policy_connector();
771
772 if (policy_connector->IsEnterpriseManaged()) {
773 user_dict->SetString(kKeyEnterpriseDomain,
774 policy_connector->GetEnterpriseDomain());
775 }
776 }
777
752 // Single user check here is necessary because owner info might not be 778 // Single user check here is necessary because owner info might not be
753 // available when running into login screen on first boot. 779 // available when running into login screen on first boot.
754 // See http://crosbug.com/12723 780 // See http://crosbug.com/12723
755 user_dict->SetBoolean(kKeyCanRemove, 781 user_dict->SetBoolean(kKeyCanRemove,
756 !single_user && 782 !single_user &&
757 !email.empty() && 783 !email.empty() &&
758 !is_owner && 784 !is_owner &&
759 !public_account && 785 !public_account &&
760 !signed_in); 786 !signed_in);
761 787
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
1004 ConnectionType last_network_type) { 1030 ConnectionType last_network_type) {
1005 base::FundamentalValue state_value(state); 1031 base::FundamentalValue state_value(state);
1006 base::StringValue network_value(network_name); 1032 base::StringValue network_value(network_name);
1007 base::StringValue reason_value(reason); 1033 base::StringValue reason_value(reason);
1008 base::FundamentalValue last_network_value(last_network_type); 1034 base::FundamentalValue last_network_value(last_network_type);
1009 web_ui()->CallJavascriptFunction(callback, 1035 web_ui()->CallJavascriptFunction(callback,
1010 state_value, network_value, reason_value, last_network_value); 1036 state_value, network_value, reason_value, last_network_value);
1011 } 1037 }
1012 1038
1013 } // namespace chromeos 1039 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698