Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1883)

Unified Diff: chrome/renderer/autofill/password_autofill_agent_browsertest.cc

Issue 2814093002: [Password Manager] Send a request to the password store if there is a password field on a page (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/autofill/password_autofill_agent_browsertest.cc
diff --git a/chrome/renderer/autofill/password_autofill_agent_browsertest.cc b/chrome/renderer/autofill/password_autofill_agent_browsertest.cc
index 66529cad25293b47249dabde58cd088f8422040b..7e3daf0952dba574f4782d7ccd01448b9058395b 100644
--- a/chrome/renderer/autofill/password_autofill_agent_browsertest.cc
+++ b/chrome/renderer/autofill/password_autofill_agent_browsertest.cc
@@ -95,6 +95,12 @@ const char kEmptyFormHTML[] =
"<head> <style> form {display: inline;} </style> </head>"
"<body> <form> </form> </body>";
+const char kFormWithoutPasswordsHTML[] =
+ "<FORM>"
+ " <INPUT type='text' id='random_field'/>"
+ " <INPUT type='text' id='username'/>"
+ "</FORM>";
+
const char kNonVisibleFormHTML[] =
"<head> <style> form {visibility: hidden;} </style> </head>"
"<body>"
@@ -858,52 +864,80 @@ TEST_F(PasswordAutofillAgentTest, IsWebElementVisibleTest) {
}
TEST_F(PasswordAutofillAgentTest, SendPasswordFormsTest) {
vabr (Chromium) 2017/04/13 06:44:18 I wonder if we should split this test so that each
kolos1 2017/04/13 08:35:48 Splitted.
- fake_driver_.reset_password_forms_rendered();
+ fake_driver_.reset_password_forms_calls();
LoadHTML(kVisibleFormWithNoUsernameHTML);
base::RunLoop().RunUntilIdle();
+ EXPECT_TRUE(fake_driver_.called_password_forms_parsed());
+ ASSERT_TRUE(static_cast<bool>(fake_driver_.password_forms_parsed()));
+ EXPECT_FALSE(fake_driver_.password_forms_parsed()->empty());
EXPECT_TRUE(fake_driver_.called_password_forms_rendered());
ASSERT_TRUE(static_cast<bool>(fake_driver_.password_forms_rendered()));
EXPECT_FALSE(fake_driver_.password_forms_rendered()->empty());
- fake_driver_.reset_password_forms_rendered();
+ fake_driver_.reset_password_forms_calls();
LoadHTML(kEmptyFormHTML);
base::RunLoop().RunUntilIdle();
+ EXPECT_FALSE(fake_driver_.called_password_forms_parsed());
EXPECT_TRUE(fake_driver_.called_password_forms_rendered());
ASSERT_TRUE(static_cast<bool>(fake_driver_.password_forms_rendered()));
EXPECT_TRUE(fake_driver_.password_forms_rendered()->empty());
- fake_driver_.reset_password_forms_rendered();
+ fake_driver_.reset_password_forms_calls();
+ LoadHTML(kFormWithoutPasswordsHTML);
+ base::RunLoop().RunUntilIdle();
+ EXPECT_FALSE(fake_driver_.called_password_forms_parsed());
+ EXPECT_TRUE(fake_driver_.called_password_forms_rendered());
+ ASSERT_TRUE(static_cast<bool>(fake_driver_.password_forms_rendered()));
+ EXPECT_TRUE(fake_driver_.password_forms_rendered()->empty());
+
+ fake_driver_.reset_password_forms_calls();
LoadHTML(kNonDisplayedFormHTML);
base::RunLoop().RunUntilIdle();
+ EXPECT_TRUE(fake_driver_.called_password_forms_parsed());
+ ASSERT_TRUE(static_cast<bool>(fake_driver_.password_forms_parsed()));
vabr (Chromium) 2017/04/13 06:44:18 Just out of curiosity -- why is the explicit cast
kolos1 2017/04/13 08:35:48 Removed casts.
+ EXPECT_FALSE(fake_driver_.password_forms_parsed()->empty());
EXPECT_TRUE(fake_driver_.called_password_forms_rendered());
ASSERT_TRUE(static_cast<bool>(fake_driver_.password_forms_rendered()));
EXPECT_TRUE(fake_driver_.password_forms_rendered()->empty());
- fake_driver_.reset_password_forms_rendered();
+ fake_driver_.reset_password_forms_calls();
LoadHTML(kNonVisibleFormHTML);
base::RunLoop().RunUntilIdle();
+ EXPECT_TRUE(fake_driver_.called_password_forms_parsed());
+ ASSERT_TRUE(static_cast<bool>(fake_driver_.password_forms_parsed()));
+ EXPECT_FALSE(fake_driver_.password_forms_parsed()->empty());
EXPECT_TRUE(fake_driver_.called_password_forms_rendered());
ASSERT_TRUE(static_cast<bool>(fake_driver_.password_forms_rendered()));
EXPECT_TRUE(fake_driver_.password_forms_rendered()->empty());
+
+ fake_driver_.reset_password_forms_calls();
+ LoadHTML(kPasswordChangeFormHTML);
+ base::RunLoop().RunUntilIdle();
+ EXPECT_TRUE(fake_driver_.called_password_forms_parsed());
+ ASSERT_TRUE(static_cast<bool>(fake_driver_.password_forms_parsed()));
+ EXPECT_FALSE(fake_driver_.password_forms_parsed()->empty());
+ EXPECT_TRUE(fake_driver_.called_password_forms_rendered());
+ ASSERT_TRUE(static_cast<bool>(fake_driver_.password_forms_rendered()));
+ EXPECT_FALSE(fake_driver_.password_forms_rendered()->empty());
}
TEST_F(PasswordAutofillAgentTest, SendPasswordFormsTest_Redirection) {
- fake_driver_.reset_password_forms_rendered();
+ fake_driver_.reset_password_forms_calls();
LoadHTML(kEmptyWebpage);
base::RunLoop().RunUntilIdle();
EXPECT_FALSE(fake_driver_.called_password_forms_rendered());
- fake_driver_.reset_password_forms_rendered();
+ fake_driver_.reset_password_forms_calls();
LoadHTML(kRedirectionWebpage);
base::RunLoop().RunUntilIdle();
EXPECT_FALSE(fake_driver_.called_password_forms_rendered());
- fake_driver_.reset_password_forms_rendered();
+ fake_driver_.reset_password_forms_calls();
LoadHTML(kSimpleWebpage);
base::RunLoop().RunUntilIdle();
EXPECT_TRUE(fake_driver_.called_password_forms_rendered());
- fake_driver_.reset_password_forms_rendered();
+ fake_driver_.reset_password_forms_calls();
LoadHTML(kWebpageWithDynamicContent);
base::RunLoop().RunUntilIdle();
EXPECT_TRUE(fake_driver_.called_password_forms_rendered());

Powered by Google App Engine
This is Rietveld 408576698