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

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

Issue 2769023003: [Password Manager] Check node visibility with isFocusable instead of hasNonEmptyLayoutSize (Closed)
Patch Set: Added comment to IsWebElementVisible Created 3 years, 9 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 | « no previous file | components/autofill/content/renderer/form_autofill_util.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 b5491808fe0ed521a073b11546e240425503b597..39c28f4bf39c7c025bbdfc7868d431cf9900ac32 100644
--- a/chrome/renderer/autofill/password_autofill_agent_browsertest.cc
+++ b/chrome/renderer/autofill/password_autofill_agent_browsertest.cc
@@ -96,6 +96,16 @@ const char kEmptyFormHTML[] =
"<body> <form> </form> </body>";
const char kNonVisibleFormHTML[] =
+ "<head> <style> form {visibility: hidden;} </style> </head>"
+ "<body>"
+ " <form>"
+ " <div>"
+ " <input type='password' id='password'/>"
+ " </div>"
+ " </form>"
+ "</body>";
+
+const char kNonDisplayedFormHTML[] =
"<head> <style> form {display: none;} </style> </head>"
"<body>"
" <form>"
@@ -817,27 +827,34 @@ TEST_F(PasswordAutofillAgentTest, WaitUsername) {
CheckTextFieldsState(kAliceUsername, false, std::string(), false);
}
-TEST_F(PasswordAutofillAgentTest, IsWebNodeVisibleTest) {
+TEST_F(PasswordAutofillAgentTest, IsWebElementVisibleTest) {
blink::WebVector<WebFormElement> forms1, forms2, forms3;
+ blink::WebVector<blink::WebFormControlElement> web_control_elements;
blink::WebFrame* frame;
LoadHTML(kVisibleFormWithNoUsernameHTML);
frame = GetMainFrame();
frame->document().forms(forms1);
ASSERT_EQ(1u, forms1.size());
- EXPECT_TRUE(form_util::IsWebNodeVisible(forms1[0]));
+ forms1[0].getFormControlElements(web_control_elements);
+ ASSERT_EQ(1u, web_control_elements.size());
+ EXPECT_TRUE(form_util::IsWebElementVisible(web_control_elements[0]));
- LoadHTML(kEmptyFormHTML);
+ LoadHTML(kNonVisibleFormHTML);
frame = GetMainFrame();
frame->document().forms(forms2);
ASSERT_EQ(1u, forms2.size());
- EXPECT_FALSE(form_util::IsWebNodeVisible(forms2[0]));
+ forms2[0].getFormControlElements(web_control_elements);
+ ASSERT_EQ(1u, web_control_elements.size());
+ EXPECT_FALSE(form_util::IsWebElementVisible(web_control_elements[0]));
- LoadHTML(kNonVisibleFormHTML);
+ LoadHTML(kNonDisplayedFormHTML);
frame = GetMainFrame();
frame->document().forms(forms3);
ASSERT_EQ(1u, forms3.size());
- EXPECT_FALSE(form_util::IsWebNodeVisible(forms3[0]));
+ forms3[0].getFormControlElements(web_control_elements);
+ ASSERT_EQ(1u, web_control_elements.size());
+ EXPECT_FALSE(form_util::IsWebElementVisible(web_control_elements[0]));
}
TEST_F(PasswordAutofillAgentTest, SendPasswordFormsTest) {
@@ -856,6 +873,13 @@ TEST_F(PasswordAutofillAgentTest, SendPasswordFormsTest) {
EXPECT_TRUE(fake_driver_.password_forms_rendered()->empty());
fake_driver_.reset_password_forms_rendered();
+ LoadHTML(kNonDisplayedFormHTML);
+ base::RunLoop().RunUntilIdle();
+ 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();
LoadHTML(kNonVisibleFormHTML);
base::RunLoop().RunUntilIdle();
EXPECT_TRUE(fake_driver_.called_password_forms_rendered());
« no previous file with comments | « no previous file | components/autofill/content/renderer/form_autofill_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698