OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/hash_tables.h" | 10 #include "base/hash_tables.h" |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 | 45 |
46 // Account picker screen id. | 46 // Account picker screen id. |
47 const char kAccountPickerScreen[] = "account-picker"; | 47 const char kAccountPickerScreen[] = "account-picker"; |
48 // Sign in screen id for GAIA extension hosted content. | 48 // Sign in screen id for GAIA extension hosted content. |
49 const char kGaiaSigninScreen[] = "gaia-signin"; | 49 const char kGaiaSigninScreen[] = "gaia-signin"; |
50 // Start page of GAIA authentication extension. | 50 // Start page of GAIA authentication extension. |
51 const char kGaiaExtStartPage[] = | 51 const char kGaiaExtStartPage[] = |
52 "chrome-extension://mfffpogegjflfpflabcdkioaeobkgjik/main.html"; | 52 "chrome-extension://mfffpogegjflfpflabcdkioaeobkgjik/main.html"; |
53 | 53 |
54 // User dictionary keys. | 54 // User dictionary keys. |
55 const char kKeyName[] = "name"; | 55 const char kKeyUsername[] = "username"; |
| 56 const char kKeyDisplayName[] = "displayName"; |
56 const char kKeyEmailAddress[] = "emailAddress"; | 57 const char kKeyEmailAddress[] = "emailAddress"; |
| 58 const char kKeyNameTooltip[] = "nameTooltip"; |
57 const char kKeySignedIn[] = "signedIn"; | 59 const char kKeySignedIn[] = "signedIn"; |
58 const char kKeyCanRemove[] = "canRemove"; | 60 const char kKeyCanRemove[] = "canRemove"; |
59 const char kKeyOauthTokenStatus[] = "oauthTokenStatus"; | 61 const char kKeyOauthTokenStatus[] = "oauthTokenStatus"; |
60 | 62 |
61 // Max number of users to show. | 63 // Max number of users to show. |
62 const int kMaxUsers = 5; | 64 const int kMaxUsers = 5; |
63 | 65 |
64 const char kReasonNetworkChanged[] = "network changed"; | 66 const char kReasonNetworkChanged[] = "network changed"; |
65 const char kReasonProxyChanged[] = "proxy changed"; | 67 const char kReasonProxyChanged[] = "proxy changed"; |
66 | 68 |
(...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
525 void SigninScreenHandler::HandleCompleteLogin(const base::ListValue* args) { | 527 void SigninScreenHandler::HandleCompleteLogin(const base::ListValue* args) { |
526 std::string username; | 528 std::string username; |
527 std::string password; | 529 std::string password; |
528 if (!args->GetString(0, &username) || | 530 if (!args->GetString(0, &username) || |
529 !args->GetString(1, &password)) { | 531 !args->GetString(1, &password)) { |
530 NOTREACHED(); | 532 NOTREACHED(); |
531 return; | 533 return; |
532 } | 534 } |
533 | 535 |
534 username = SanitizeEmail(username); | 536 username = SanitizeEmail(username); |
| 537 delegate_->SetDisplayEmail(username); |
535 delegate_->CompleteLogin(username, password); | 538 delegate_->CompleteLogin(username, password); |
536 } | 539 } |
537 | 540 |
538 void SigninScreenHandler::HandleAuthenticateUser(const base::ListValue* args) { | 541 void SigninScreenHandler::HandleAuthenticateUser(const base::ListValue* args) { |
539 std::string username; | 542 std::string username; |
540 std::string password; | 543 std::string password; |
541 if (!args->GetString(0, &username) || | 544 if (!args->GetString(0, &username) || |
542 !args->GetString(1, &password)) { | 545 !args->GetString(1, &password)) { |
543 NOTREACHED(); | 546 NOTREACHED(); |
544 return; | 547 return; |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
616 for (UserList::const_iterator it = users.begin(); it != users.end(); ++it) { | 619 for (UserList::const_iterator it = users.begin(); it != users.end(); ++it) { |
617 const std::string& email = (*it)->email(); | 620 const std::string& email = (*it)->email(); |
618 std::string owner; | 621 std::string owner; |
619 chromeos::CrosSettings::Get()->GetString(chromeos::kDeviceOwner, &owner); | 622 chromeos::CrosSettings::Get()->GetString(chromeos::kDeviceOwner, &owner); |
620 bool is_owner = (email == owner); | 623 bool is_owner = (email == owner); |
621 bool signed_in = UserManager::Get()->user_is_logged_in() && | 624 bool signed_in = UserManager::Get()->user_is_logged_in() && |
622 email == UserManager::Get()->logged_in_user().email(); | 625 email == UserManager::Get()->logged_in_user().email(); |
623 | 626 |
624 if (non_owner_count < max_non_owner_users || is_owner) { | 627 if (non_owner_count < max_non_owner_users || is_owner) { |
625 DictionaryValue* user_dict = new DictionaryValue(); | 628 DictionaryValue* user_dict = new DictionaryValue(); |
626 user_dict->SetString(kKeyName, (*it)->GetDisplayName()); | 629 user_dict->SetString(kKeyUsername, email); |
627 user_dict->SetString(kKeyEmailAddress, email); | 630 user_dict->SetString(kKeyEmailAddress, (*it)->display_email()); |
| 631 user_dict->SetString(kKeyDisplayName, (*it)->GetDisplayName()); |
| 632 if ((*it)->NeedsNameTooltip()) |
| 633 user_dict->SetString(kKeyNameTooltip, (*it)->GetNameTooltip()); |
628 user_dict->SetInteger(kKeyOauthTokenStatus, (*it)->oauth_token_status()); | 634 user_dict->SetInteger(kKeyOauthTokenStatus, (*it)->oauth_token_status()); |
629 user_dict->SetBoolean(kKeySignedIn, signed_in); | 635 user_dict->SetBoolean(kKeySignedIn, signed_in); |
630 | 636 |
631 // Single user check here is necessary because owner info might not be | 637 // Single user check here is necessary because owner info might not be |
632 // available when running into login screen on first boot. | 638 // available when running into login screen on first boot. |
633 // See http://crosbug.com/12723 | 639 // See http://crosbug.com/12723 |
634 user_dict->SetBoolean(kKeyCanRemove, | 640 user_dict->SetBoolean(kKeyCanRemove, |
635 !single_user && | 641 !single_user && |
636 !email.empty() && | 642 !email.empty() && |
637 !is_owner && | 643 !is_owner && |
638 !signed_in); | 644 !signed_in); |
639 | 645 |
640 users_list.Append(user_dict); | 646 users_list.Append(user_dict); |
641 if (!is_owner) | 647 if (!is_owner) |
642 ++non_owner_count; | 648 ++non_owner_count; |
643 } | 649 } |
644 } | 650 } |
645 | 651 |
646 if (show_guest) { | 652 if (show_guest) { |
647 // Add the Guest to the user list. | 653 // Add the Guest to the user list. |
648 DictionaryValue* guest_dict = new DictionaryValue(); | 654 DictionaryValue* guest_dict = new DictionaryValue(); |
649 guest_dict->SetString(kKeyName, l10n_util::GetStringUTF16(IDS_GUEST)); | 655 guest_dict->SetString(kKeyUsername, ""); |
650 guest_dict->SetString(kKeyEmailAddress, ""); | 656 guest_dict->SetString(kKeyEmailAddress, ""); |
| 657 guest_dict->SetString(kKeyDisplayName, |
| 658 l10n_util::GetStringUTF16(IDS_GUEST)); |
651 guest_dict->SetBoolean(kKeyCanRemove, false); | 659 guest_dict->SetBoolean(kKeyCanRemove, false); |
652 guest_dict->SetInteger(kKeyOauthTokenStatus, | 660 guest_dict->SetInteger(kKeyOauthTokenStatus, |
653 User::OAUTH_TOKEN_STATUS_UNKNOWN); | 661 User::OAUTH_TOKEN_STATUS_UNKNOWN); |
654 users_list.Append(guest_dict); | 662 users_list.Append(guest_dict); |
655 } | 663 } |
656 | 664 |
657 // Call the Javascript callback | 665 // Call the Javascript callback |
658 base::FundamentalValue animated_value(animated); | 666 base::FundamentalValue animated_value(animated); |
659 web_ui_->CallJavascriptFunction("login.AccountPickerScreen.loadUsers", | 667 web_ui_->CallJavascriptFunction("login.AccountPickerScreen.loadUsers", |
660 users_list, animated_value); | 668 users_list, animated_value); |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
740 | 748 |
741 cookie_remover_ = new BrowsingDataRemover( | 749 cookie_remover_ = new BrowsingDataRemover( |
742 Profile::FromBrowserContext(web_ui_->tab_contents()->browser_context()), | 750 Profile::FromBrowserContext(web_ui_->tab_contents()->browser_context()), |
743 BrowsingDataRemover::EVERYTHING, | 751 BrowsingDataRemover::EVERYTHING, |
744 base::Time()); | 752 base::Time()); |
745 cookie_remover_->AddObserver(this); | 753 cookie_remover_->AddObserver(this); |
746 cookie_remover_->Remove(BrowsingDataRemover::REMOVE_SITE_DATA); | 754 cookie_remover_->Remove(BrowsingDataRemover::REMOVE_SITE_DATA); |
747 } | 755 } |
748 | 756 |
749 } // namespace chromeos | 757 } // namespace chromeos |
OLD | NEW |