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

Unified Diff: components/autofill/content/renderer/password_form_conversion_utils_browsertest.cc

Issue 1645493002: [Password Manager] Enables processing invisible username fields even if visible password field was … (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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
« no previous file with comments | « components/autofill/content/renderer/password_form_conversion_utils.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/autofill/content/renderer/password_form_conversion_utils_browsertest.cc
diff --git a/components/autofill/content/renderer/password_form_conversion_utils_browsertest.cc b/components/autofill/content/renderer/password_form_conversion_utils_browsertest.cc
index 3b08dbcf4db100934cd7f7e2f6d983216fb221f2..1db126c7285b0d4513c94838e6797fd0e113013c 100644
--- a/components/autofill/content/renderer/password_form_conversion_utils_browsertest.cc
+++ b/components/autofill/content/renderer/password_form_conversion_utils_browsertest.cc
@@ -705,6 +705,65 @@ TEST_F(MAYBE_PasswordFormConversionUtilsTest, OnlyNonDisplayedLoginPair) {
password_form->password_value);
}
+TEST_F(MAYBE_PasswordFormConversionUtilsTest,
+ VisiblePasswordAndInvisibleUsername) {
+ PasswordFormBuilder builder(kTestFormActionURL);
+
+ builder.AddNonDisplayedTextField("username", "William");
+ builder.AddPasswordField("password", "secret", NULL);
+ builder.AddSubmitButton("submit");
+ std::string html = builder.ProduceHTML();
+
+ scoped_ptr<PasswordForm> password_form;
+ ASSERT_NO_FATAL_FAILURE(
+ LoadHTMLAndConvertForm(html, &password_form, nullptr));
+ ASSERT_TRUE(password_form);
+ EXPECT_EQ(base::UTF8ToUTF16("username"), password_form->username_element);
+ EXPECT_EQ(base::UTF8ToUTF16("William"), password_form->username_value);
+ EXPECT_EQ(base::UTF8ToUTF16("password"), password_form->password_element);
+ EXPECT_EQ(base::UTF8ToUTF16("secret"), password_form->password_value);
+}
+
+TEST_F(MAYBE_PasswordFormConversionUtilsTest,
+ InvisiblePassword_LatestUsernameIsVisible) {
+ PasswordFormBuilder builder(kTestFormActionURL);
+
+ builder.AddNonDisplayedTextField("search", "query");
+ builder.AddTextField("username", "William", NULL);
+ builder.AddNonDisplayedPasswordField("password", "secret");
+ builder.AddSubmitButton("submit");
+ std::string html = builder.ProduceHTML();
+
+ scoped_ptr<PasswordForm> password_form;
+ ASSERT_NO_FATAL_FAILURE(
+ LoadHTMLAndConvertForm(html, &password_form, nullptr));
+ ASSERT_TRUE(password_form);
+ EXPECT_EQ(base::UTF8ToUTF16("username"), password_form->username_element);
+ EXPECT_EQ(base::UTF8ToUTF16("William"), password_form->username_value);
+ EXPECT_EQ(base::UTF8ToUTF16("password"), password_form->password_element);
+ EXPECT_EQ(base::UTF8ToUTF16("secret"), password_form->password_value);
+}
+
+TEST_F(MAYBE_PasswordFormConversionUtilsTest,
+ InvisiblePassword_LatestUsernameIsInvisible) {
+ PasswordFormBuilder builder(kTestFormActionURL);
+
+ builder.AddTextField("search", "query", NULL);
+ builder.AddNonDisplayedTextField("username", "William");
+ builder.AddNonDisplayedPasswordField("password", "secret");
+ builder.AddSubmitButton("submit");
+ std::string html = builder.ProduceHTML();
+
+ scoped_ptr<PasswordForm> password_form;
+ ASSERT_NO_FATAL_FAILURE(
+ LoadHTMLAndConvertForm(html, &password_form, nullptr));
+ ASSERT_TRUE(password_form);
+ EXPECT_EQ(base::UTF8ToUTF16("username"), password_form->username_element);
+ EXPECT_EQ(base::UTF8ToUTF16("William"), password_form->username_value);
+ EXPECT_EQ(base::UTF8ToUTF16("password"), password_form->password_element);
+ EXPECT_EQ(base::UTF8ToUTF16("secret"), password_form->password_value);
+}
+
TEST_F(MAYBE_PasswordFormConversionUtilsTest, InvalidFormDueToBadActionURL) {
PasswordFormBuilder builder("invalid_target");
builder.AddTextField("username", "JohnSmith", NULL);
« no previous file with comments | « components/autofill/content/renderer/password_form_conversion_utils.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698