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

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

Issue 343663002: PasswordManager: Add rendered forms to pending_login_managers_ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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
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 d638833c3d0037e5a50ed3b83967747d93ef8ade..56df5ad7d902fd05cb7c0de4fc8c220375c27f73 100644
--- a/chrome/browser/password_manager/password_manager_browsertest.cc
+++ b/chrome/browser/password_manager/password_manager_browsertest.cc
@@ -925,3 +925,25 @@ IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTest, NoPromptWhenReloading) {
EXPECT_FALSE(observer.infobar_shown());
}
}
+
+// Test that if a form gets dynamically added between the form parsing and
+// rendering, and while the main frame still loads, it still is registered, and
+// thus saving passwords from it works.
+IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTest,
+ FormsAddedBetweenParsingAndRendering) {
+ NavigateToFile("/password/between_parsing_and_rendering.html");
+
+ NavigationObserver observer(WebContents());
+ std::string submit =
+ "document.getElementById('username').value = 'temp';"
+ "document.getElementById('password').value = 'random';"
+ "document.getElementById('submit-button').click();";
+ ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), submit));
+ observer.Wait();
+
+ if (ChromePasswordManagerClient::IsTheHotNewBubbleUIEnabled()) {
+ EXPECT_TRUE(controller()->PasswordPendingUserDecision());
+ } else {
+ EXPECT_TRUE(observer.infobar_shown());
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698