Index: chrome/browser/password_manager/password_manager_interactive_uitest.cc |
diff --git a/chrome/browser/password_manager/password_manager_interactive_uitest.cc b/chrome/browser/password_manager/password_manager_interactive_uitest.cc |
index 113bf284d78db97a046a19a11dbb61fc123a07fa..ed5ffef637651072a1bc1b3c4ac41273d87a3173 100644 |
--- a/chrome/browser/password_manager/password_manager_interactive_uitest.cc |
+++ b/chrome/browser/password_manager/password_manager_interactive_uitest.cc |
@@ -81,7 +81,7 @@ IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTestBase, UsernameChanged) { |
"document.getElementById('input_submit_button').click();"; |
ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), submit)); |
navigation_observer.Wait(); |
- EXPECT_TRUE(prompt_observer.IsShowingSavePrompt()); |
+ EXPECT_TRUE(prompt_observer.WasSavePromptShown()); |
prompt_observer.AcceptSavePrompt(); |
// Spin the message loop to make sure the password store had a chance to save |
@@ -101,4 +101,27 @@ IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTestBase, UsernameChanged) { |
(stored_passwords.begin()->second)[1].username_value); |
} |
+IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTestBase, |
+ ManualFallbackForSaving) { |
+ NavigateToFile("/password/password_form.html"); |
+ |
+ std::string focus("document.getElementById('password_field').focus();"); |
+ ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), focus)); |
+ SimulateUserTypingInField(RenderViewHost(), WebContents(), "password_field"); |
+ BubbleObserver prompt_observer(WebContents()); |
+ prompt_observer.WaitForSavePrompt(); |
vasilii
2017/08/03 10:46:37
I think that is the only place which waits for the
kolos1
2017/08/04 16:36:17
Name is fixed. Special method for waiting for fall
|
+ EXPECT_TRUE(prompt_observer.IsSavePromptAvailable()); |
+ EXPECT_FALSE(prompt_observer.WasSavePromptShown()); |
+ |
+ prompt_observer.OpenAndAcceptSavePrompt(); |
+ WaitForPasswordStore(); |
+ scoped_refptr<password_manager::TestPasswordStore> password_store = |
+ static_cast<password_manager::TestPasswordStore*>( |
+ PasswordStoreFactory::GetForProfile( |
+ browser()->profile(), ServiceAccessType::IMPLICIT_ACCESS) |
+ .get()); |
+ CheckThatCredentialsStored(password_store.get(), base::string16(), |
vasilii
2017/08/03 10:46:37
One more example where we don't need |password_sto
kolos1
2017/08/04 16:36:17
Acknowledged.
|
+ base::ASCIIToUTF16("ORARY")); |
+} |
+ |
} // namespace password_manager |