| 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 7aa8bea4ff3d26aa8ad4a7483128eb53d031e0ce..cd665cf38258bdb4f11e771153c20423818f6261 100644
|
| --- a/chrome/browser/ui/webui/options/password_manager_handler.cc
|
| +++ b/chrome/browser/ui/webui/options/password_manager_handler.cc
|
| @@ -53,10 +53,22 @@ 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 },
|
| + { "editPasswordInvalidUrlTooltip",
|
| + IDS_PASSWORDS_PAGE_INVALID_URL_TOOLTIP },
|
| + { "editPasswordInvalidPasswordTooltip",
|
| + IDS_PASSWORDS_PAGE_INVALID_PASSWORD_TOOLTIP },
|
| { "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 +101,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 +130,44 @@ 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)) {
|
| + NOTREACHED();
|
| + return;
|
| + }
|
| + password_manager_presenter_.AddPassword(GURL(origin), username_value,
|
| + password_value);
|
| +}
|
| +
|
| +void PasswordManagerHandler::HandleUpdatePassword(const base::ListValue* args) {
|
| + int index;
|
| + base::string16 password_value;
|
| + if (!ExtractIntegerValue(args, &index) || index < 0 ||
|
| + !args->GetString(1, &password_value)) {
|
| + NOTREACHED();
|
| + return;
|
| + }
|
| + 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));
|
|
|