Commit 5871eefa authored by Vadym Doroshenko's avatar Vadym Doroshenko Committed by Commit Bot

Fix IsPasswordFieldDetectedOnPage.

When the old parser is completely off, this function returns false always.

Bug: 831123

Change-Id: I2719532919d6438e62cb70959c64e736fef6c4d3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1605417Reviewed-by: default avatarVasilii Sukhanov <vasilii@chromium.org>
Commit-Queue: Vadym Doroshenko <dvadym@chromium.org>
Cr-Commit-Position: refs/heads/master@{#658557}
parent 137e5591
......@@ -622,7 +622,7 @@ void PasswordManager::DropFormManagers() {
}
bool PasswordManager::IsPasswordFieldDetectedOnPage() {
return !pending_login_managers_.empty();
return !pending_login_managers_.empty() || !form_managers_.empty();
}
void PasswordManager::AddObserverAndDeliverCredentials(
......
......@@ -1005,6 +1005,19 @@ TEST_F(PasswordManagerTest, FormSubmit) {
form_manager_to_save->Save();
}
TEST_F(PasswordManagerTest, IsPasswordFieldDetectedOnPage) {
base::test::ScopedFeatureList scoped_feature_list;
TurnOnOnlyNewPassword(&scoped_feature_list);
PasswordForm form(MakeSimpleForm());
EXPECT_CALL(*store_, GetLogins(_, _))
.WillRepeatedly(WithArg<1>(InvokeEmptyConsumerWithForms()));
EXPECT_FALSE(manager()->IsPasswordFieldDetectedOnPage());
manager()->OnPasswordFormsParsed(&driver_, {form});
EXPECT_TRUE(manager()->IsPasswordFieldDetectedOnPage());
manager()->DropFormManagers();
EXPECT_FALSE(manager()->IsPasswordFieldDetectedOnPage());
}
TEST_F(PasswordManagerTest, FormSubmitWhenPasswordsCannotBeSaved) {
// Test that a plain form submit doesn't result in offering to save passwords.
EXPECT_CALL(*store_, IsAbleToSavePasswords()).WillOnce(Return(false));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment