Index: components/password_manager/core/browser/password_manager.cc |
diff --git a/components/password_manager/core/browser/password_manager.cc b/components/password_manager/core/browser/password_manager.cc |
index be4922c9ad42448492ddba246d1c9f1e81a3dd00..8a7a846a72b4f76c7d0abcfb90d93d1f49a6ebe9 100644 |
--- a/components/password_manager/core/browser/password_manager.cc |
+++ b/components/password_manager/core/browser/password_manager.cc |
@@ -234,12 +234,6 @@ void PasswordManager::ProvisionallySavePassword(const PasswordForm& form) { |
if (result == PasswordFormManager::RESULT_NO_MATCH) |
continue; |
- if ((*iter)->IsIgnorableChangePasswordForm()) { |
- if (logger) |
- logger->LogMessage(Logger::STRING_CHANGE_PASSWORD_FORM); |
- continue; |
- } |
- |
if (!(*iter)->HasCompletedMatching()) { |
has_found_matching_managers_which_were_not_ready = true; |
continue; |
@@ -323,7 +317,14 @@ void PasswordManager::ProvisionallySavePassword(const PasswordForm& form) { |
Logger::STRING_IGNORE_POSSIBLE_USERNAMES, |
action == PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); |
} |
- manager->ProvisionallySave(provisionally_saved_form, action); |
+ if (!manager->ProvisionallySave(provisionally_saved_form, action)) { |
+ if (logger) { |
+ logger->LogPasswordForm(Logger::STRING_CHANGE_PASSWORD_FORM, |
+ provisionally_saved_form); |
+ } |
+ return; |
+ } |
+ |
provisional_save_manager_.swap(manager); |
// Cache the user-visible URL (i.e., the one seen in the omnibox). Once the |