| 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 5b767ba404606cb4cecb3eaeb36f52dd6e6fbebe..49ca26d8144535559fb4071140dba5ea093a4321 100644
|
| --- a/chrome/browser/password_manager/password_manager_browsertest.cc
|
| +++ b/chrome/browser/password_manager/password_manager_browsertest.cc
|
| @@ -205,6 +205,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");
|
|
|
|
|