| 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 95bb15a61f3eb50c7b5c6d22f2c46af783d3a6e1..11708aff5fe48e4c9c2b3b8e5ac88308ea03bfa8 100644
|
| --- a/chrome/browser/password_manager/password_manager_browsertest.cc
|
| +++ b/chrome/browser/password_manager/password_manager_browsertest.cc
|
| @@ -206,6 +206,28 @@ IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTestBase,
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTestBase,
|
| + NoPromptIfPasswordFormManagerDestroyed) {
|
| + NavigateToFile("/password/password_form.html");
|
| + // Simulate the Credential Manager API essentially destroying all the
|
| + // PasswordFormManager instances.
|
| + ChromePasswordManagerClient::FromWebContents(WebContents())
|
| + ->NotifyStorePasswordCalled();
|
| +
|
| + // Fill a form and submit through a <input type="submit"> button. The renderer
|
| + // should not send "PasswordFormsParsed" messages after the page was loaded.
|
| + NavigationObserver observer(WebContents());
|
| + std::string fill_and_submit =
|
| + "document.getElementById('username_field').value = 'temp';"
|
| + "document.getElementById('password_field').value = 'random';"
|
| + "document.getElementById('input_submit_button').click()";
|
| + ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), fill_and_submit));
|
| + observer.Wait();
|
| + std::unique_ptr<BubbleObserver> prompt_observer(
|
| + new BubbleObserver(WebContents()));
|
| + EXPECT_FALSE(prompt_observer->IsShowingSavePrompt());
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTestBase,
|
| PromptForSubmitWithInPageNavigation) {
|
| NavigateToFile("/password/password_navigate_before_submit.html");
|
|
|
|
|