Index: chrome/browser/password_manager/password_manager.cc |
diff --git a/chrome/browser/password_manager/password_manager.cc b/chrome/browser/password_manager/password_manager.cc |
index a00c991d1ccba8542a4bff4bd0f61435a23cfbbb..9b0c2b2bde4a86298d35d21b1a93f89a483c5c5e 100644 |
--- a/chrome/browser/password_manager/password_manager.cc |
+++ b/chrome/browser/password_manager/password_manager.cc |
@@ -181,6 +181,12 @@ void PasswordManager::ProvisionallySavePassword(const PasswordForm& form) { |
if (!manager->HasValidPasswordForm()) |
return; |
+ // Always save generated passwords, as the user expresses explicit intent for |
+ // Chrome to manage such passwords. For other passwords, respect the |
+ // autocomplete attribute. |
+ if (!manager->HasGeneratedPassword() && !form.password_autocomplete_set) |
+ return; |
+ |
PasswordForm provisionally_saved_form(form); |
provisionally_saved_form.ssl_valid = form.origin.SchemeIsSecure() && |
!delegate_->DidLastPageLoadEncounterSSLErrors(); |