| Index: chrome/browser/ui/webui/options/password_manager_handler.cc
|
| diff --git a/chrome/browser/ui/webui/options/password_manager_handler.cc b/chrome/browser/ui/webui/options/password_manager_handler.cc
|
| index cd34f221fc1c659626619fecdcb6ea4e8af79277..dec220c743106183e834df7d2f795a000013342d 100644
|
| --- a/chrome/browser/ui/webui/options/password_manager_handler.cc
|
| +++ b/chrome/browser/ui/webui/options/password_manager_handler.cc
|
| @@ -53,10 +53,18 @@ void PasswordManagerHandler::GetLocalizedValues(
|
| IDS_PASSWORDS_EXCEPTIONS_TAB_TITLE },
|
| { "passwordSearchPlaceholder",
|
| IDS_PASSWORDS_PAGE_SEARCH_PASSWORDS },
|
| + { "newPasswordUrlFieldPlaceholder",
|
| + IDS_PASSWORDS_PAGE_URL_INSTRUCTION },
|
| + { "newPasswordUsernameFieldPlaceholder",
|
| + IDS_PASSWORDS_PAGE_USERNAME_INSTRUCTION },
|
| + { "newPasswordPasswordFieldPlaceholder",
|
| + IDS_PASSWORDS_PAGE_PASSWORD_INSTRUCTION },
|
| { "passwordShowButton",
|
| IDS_PASSWORDS_PAGE_VIEW_SHOW_BUTTON },
|
| { "passwordHideButton",
|
| IDS_PASSWORDS_PAGE_VIEW_HIDE_BUTTON },
|
| + { "passwordOverwriteButton",
|
| + IDS_PASSWORDS_PAGE_VIEW_OVERWRITE_BUTTON },
|
| { "passwordsNoPasswordsDescription",
|
| IDS_PASSWORDS_PAGE_VIEW_NO_PASSWORDS_DESCRIPTION },
|
| { "passwordsNoExceptionsDescription",
|
| @@ -89,6 +97,18 @@ void PasswordManagerHandler::RegisterMessages() {
|
| base::Bind(&PasswordManagerHandler::HandleUpdatePasswordLists,
|
| base::Unretained(this)));
|
| web_ui()->RegisterMessageCallback(
|
| + "checkOriginValidityForAdding",
|
| + base::Bind(&PasswordManagerHandler::HandleCheckOriginValidityForAdding,
|
| + base::Unretained(this)));
|
| + web_ui()->RegisterMessageCallback(
|
| + "addPassword",
|
| + base::Bind(&PasswordManagerHandler::HandleAddPassword,
|
| + base::Unretained(this)));
|
| + web_ui()->RegisterMessageCallback(
|
| + "updatePassword",
|
| + base::Bind(&PasswordManagerHandler::HandleUpdatePassword,
|
| + base::Unretained(this)));
|
| + web_ui()->RegisterMessageCallback(
|
| "removeSavedPassword",
|
| base::Bind(&PasswordManagerHandler::HandleRemoveSavedPassword,
|
| base::Unretained(this)));
|
| @@ -106,6 +126,42 @@ void PasswordManagerHandler::InitializeHandler() {
|
| password_manager_presenter_.Initialize();
|
| }
|
|
|
| +void PasswordManagerHandler::HandleCheckOriginValidityForAdding(
|
| + const base::ListValue* args) {
|
| + std::string origin;
|
| + const bool success = args->GetString(0, &origin);
|
| + DCHECK(success); // Don't CHECK here since the renderer might be compromised.
|
| + web_ui()->CallJavascriptFunction(
|
| + "PasswordManager.originValidityCheckComplete",
|
| + base::StringValue(origin),
|
| + base::FundamentalValue(
|
| + PasswordManagerPresenter::CheckOriginValidityForAdding(
|
| + GURL(origin))));
|
| +}
|
| +
|
| +void PasswordManagerHandler::HandleAddPassword(const base::ListValue* args) {
|
| + std::string origin;
|
| + base::string16 username_value;
|
| + base::string16 password_value;
|
| + if (!args->GetString(0, &origin) || !args->GetString(1, &username_value) ||
|
| + !args->GetString(2, &password_value))
|
| + return;
|
| + password_manager_presenter_.AddPassword(GURL(origin), username_value,
|
| + password_value);
|
| +}
|
| +
|
| +void PasswordManagerHandler::HandleUpdatePassword(const base::ListValue* args) {
|
| + int index;
|
| + if (!ExtractIntegerValue(args, &index) || index < 0)
|
| + return;
|
| +
|
| + base::string16 password_value;
|
| + if (args->GetString(1, &password_value)) {
|
| + password_manager_presenter_.UpdatePassword(static_cast<size_t>(index),
|
| + password_value);
|
| + }
|
| +}
|
| +
|
| void PasswordManagerHandler::HandleRemoveSavedPassword(
|
| const base::ListValue* args) {
|
| std::string string_value = base::UTF16ToUTF8(ExtractStringValue(args));
|
|
|