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 7ef733bc445ab61e2d52c0b56e2752c298ac6576..80a4ddaa72a5671d9ae83ec0a5ef44babb0c115a 100644 |
--- a/components/password_manager/core/browser/password_manager.cc |
+++ b/components/password_manager/core/browser/password_manager.cc |
@@ -454,12 +454,17 @@ void PasswordManager::OnPasswordFormsRendered( |
if (ShouldPromptUserToSavePassword()) { |
if (logger) |
logger->LogMessage(Logger::STRING_DECISION_ASK); |
- client_->PromptUserToSavePassword(provisional_save_manager_.release()); |
+ client_->PromptUserToSavePassword(provisional_save_manager_.Pass()); |
} else { |
if (logger) |
logger->LogMessage(Logger::STRING_DECISION_SAVE); |
provisional_save_manager_->Save(); |
- provisional_save_manager_.reset(); |
+ |
+ if (provisional_save_manager_->HasGeneratedPassword()) { |
+ client_->AutomaticPasswordSave(provisional_save_manager_.Pass()); |
+ } else { |
+ provisional_save_manager_.reset(); |
+ } |
} |
} |
} |