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..dd7d92d0be9f08b87e82b3f85280fc67e2d8fc4a 100644 |
--- a/chrome/browser/ui/webui/options/password_manager_handler.cc |
+++ b/chrome/browser/ui/webui/options/password_manager_handler.cc |
@@ -89,6 +89,10 @@ void PasswordManagerHandler::RegisterMessages() { |
base::Bind(&PasswordManagerHandler::HandleUpdatePasswordLists, |
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 +110,18 @@ void PasswordManagerHandler::InitializeHandler() { |
password_manager_presenter_.Initialize(); |
} |
+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)); |