Chromium Code Reviews| 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 449 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 516 const std::string& username, | 518 const std::string& username, |
| 517 const std::string& password) { | 519 const std::string& password) { |
| 518 VLOG(2) << "ShowSigninScreenForCreds " << username << " " << password; | 520 VLOG(2) << "ShowSigninScreenForCreds " << username << " " << password; |
| 519 | 521 |
| 520 test_user_ = username; | 522 test_user_ = username; |
| 521 test_pass_ = password; | 523 test_pass_ = password; |
| 522 HandleShowAddUser(NULL); | 524 HandleShowAddUser(NULL); |
| 523 } | 525 } |
| 524 | 526 |
| 525 void SigninScreenHandler::HandleCompleteLogin(const base::ListValue* args) { | 527 void SigninScreenHandler::HandleCompleteLogin(const base::ListValue* args) { |
| 526 std::string username; | 528 std::string username; |
|
whywhat
2011/12/05 12:14:49
Rename this username to typed_email
Ivan Korotkov
2011/12/05 14:12:48
Done.
| |
| 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 |