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 ff2fdce0752d755b429a627bf7849d5eefca5d20..85230c1395c441e87a8856484430d26d54b88d61 100644 |
--- a/chrome/browser/password_manager/password_manager_browsertest.cc |
+++ b/chrome/browser/password_manager/password_manager_browsertest.cc |
@@ -1119,3 +1119,31 @@ IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTest, |
EXPECT_TRUE(prompt_observer->IsShowingPrompt()); |
} |
+IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTest, |
+ NoPromptForPasswordFormWithoutUsernameField) { |
+ password_manager::TestPasswordStore* password_store = |
+ static_cast<password_manager::TestPasswordStore*>( |
+ PasswordStoreFactory::GetForProfile(browser()->profile(), |
+ Profile::IMPLICIT_ACCESS).get()); |
+ |
+ EXPECT_TRUE(password_store->IsEmpty()); |
+ |
+ NavigateToFile("/password/form_with_only_password_field.html"); |
+ |
+ NavigationObserver observer(WebContents()); |
+ scoped_ptr<PromptObserver> prompt_observer( |
+ PromptObserver::Create(WebContents())); |
+ std::string submit = |
+ "document.getElementById('password').value = 'password';" |
+ "document.getElementById('submit-button').click();"; |
+ ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), submit)); |
+ observer.Wait(); |
+ |
+ EXPECT_FALSE(prompt_observer->IsShowingPrompt()); |
vabr (Chromium)
2014/09/15 13:01:45
This might be a misunderstanding caused by "doesn'
Pritam Nikam
2014/09/15 15:02:08
Done.
|
+ |
+ // Spin the message loop to make sure the password store had a chance to save |
+ // the password. |
+ base::RunLoop run_loop; |
+ run_loop.RunUntilIdle(); |
+ EXPECT_FALSE(password_store->IsEmpty()); |
+} |