Index: components/password_manager/core/browser/login_database.cc |
diff --git a/components/password_manager/core/browser/login_database.cc b/components/password_manager/core/browser/login_database.cc |
index dcd42e3e2d47d6d048664122a990e4c72c7079b3..cf825c618901e3ee990a7f4bb1da4398aea81234 100644 |
--- a/components/password_manager/core/browser/login_database.cc |
+++ b/components/password_manager/core/browser/login_database.cc |
@@ -287,8 +287,10 @@ bool LoginDatabase::UpdateLogin(const PasswordForm& form, int* items_changed) { |
ENCRYPTION_RESULT_SUCCESS) |
return false; |
+ // Replacement is necessary to deal with updating imported credentials. See |
+ // crbug.com/349138 for details. |
sql::Statement s(db_.GetCachedStatement(SQL_FROM_HERE, |
- "UPDATE logins SET " |
+ "UPDATE OR REPLACE logins SET " |
"action_url = ?, " |
"password_value = ?, " |
"ssl_valid = ?, " |