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 a262a1841547543a9f09ca185515b71bad2a1a3f..2affc0b6c6d6b37e869b6f92f21e0925e811ccdc 100644 |
--- a/chrome/browser/password_manager/password_manager.cc |
+++ b/chrome/browser/password_manager/password_manager.cc |
@@ -268,6 +268,12 @@ void PasswordManager::OnPasswordFormsParsed( |
} |
} |
+bool PasswordManager::ShouldShowSavePasswordInfoBar() const { |
+ return provisional_save_manager_->IsNewLogin() && |
+ !provisional_save_manager_->HasGeneratedPassword() && |
+ !provisional_save_manager_->IsPendingCredentialsPublicSuffixMatch(); |
+} |
+ |
void PasswordManager::OnPasswordFormsRendered( |
const std::vector<PasswordForm>& visible_forms) { |
if (!provisional_save_manager_.get()) |
@@ -302,8 +308,7 @@ void PasswordManager::OnPasswordFormsRendered( |
provisional_save_manager_->SubmitPassed(); |
if (provisional_save_manager_->HasGeneratedPassword()) |
UMA_HISTOGRAM_COUNTS("PasswordGeneration.Submitted", 1); |
- if (provisional_save_manager_->IsNewLogin() && |
- !provisional_save_manager_->HasGeneratedPassword()) { |
+ if (ShouldShowSavePasswordInfoBar()) { |
delegate_->AddSavePasswordInfoBarIfPermitted( |
provisional_save_manager_.release()); |
} else { |