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

Unified Diff: chrome/browser/password_manager/password_manager_browsertest.cc

Issue 137893009: [Password Autofill] Catch XHR submitted forms where onsubmit() wasn't called. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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 | « no previous file | chrome/test/data/password/password_form.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/password_manager/password_manager_browsertest.cc
diff --git a/chrome/browser/password_manager/password_manager_browsertest.cc b/chrome/browser/password_manager/password_manager_browsertest.cc
index 74f026a3a1fd53bc83821dd7b4b9f84b905bca88..9c478db5b7df4864a37cc5f3c548d5901d3e3749 100644
--- a/chrome/browser/password_manager/password_manager_browsertest.cc
+++ b/chrome/browser/password_manager/password_manager_browsertest.cc
@@ -384,14 +384,12 @@ IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTest,
EXPECT_TRUE(observer.infobar_shown());
}
-IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTest, NoPromptForOtherXHR) {
+IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTest,
+ PromptForXHRWithoutOnSubmit) {
NavigateToFile("/password/password_xhr_submit.html");
- // Verify that if random XHR navigation occurs, we don't try and save the
- // password.
- //
- // We may want to change this functionality in the future to account for
- // cases where the element that users click on isn't a submit button.
+ // Verify that if XHR navigation occurs and the form is properly filled out,
+ // we try and save the password even though onsubmit hasn't been called.
NavigationObserver observer(WebContents());
std::string fill_and_navigate =
"document.getElementById('username_field').value = 'temp';"
@@ -399,6 +397,22 @@ IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTest, NoPromptForOtherXHR) {
"send_xhr()";
ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), fill_and_navigate));
observer.Wait();
+ EXPECT_TRUE(observer.infobar_shown());
+}
+
+IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTest,
+ NoPromptIfLinkClicked) {
+ NavigateToFile("/password/password_form.html");
+
+ // Verify that if the user takes a direct action to leave the page, we don't
+ // prompt to save the password even if the form is already filled out.
+ NavigationObserver observer(WebContents());
+ std::string fill_and_click_link =
+ "document.getElementById('username_field').value = 'temp';"
+ "document.getElementById('password_field').value = 'random';"
+ "document.getElementById('link').click();";
+ ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), fill_and_click_link));
+ observer.Wait();
EXPECT_FALSE(observer.infobar_shown());
}
« no previous file with comments | « no previous file | chrome/test/data/password/password_form.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698