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

Side by Side Diff: chrome/browser/password_manager/password_manager_browsertest.cc

Issue 331593008: Only consider PasswordFromManager which HasCompletedMatching when provisionally saving passwords (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Test added Created 6 years, 5 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <string> 5 #include <string>
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/metrics/histogram_samples.h" 8 #include "base/metrics/histogram_samples.h"
9 #include "base/metrics/statistics_recorder.h" 9 #include "base/metrics/statistics_recorder.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
(...skipping 1065 matching lines...) Expand 10 before | Expand all | Expand 10 after
1076 ui_controller()->SavePassword(); 1076 ui_controller()->SavePassword();
1077 } else { 1077 } else {
1078 EXPECT_TRUE(nav_observer.infobar_shown()); 1078 EXPECT_TRUE(nav_observer.infobar_shown());
1079 } 1079 }
1080 // Spin the message loop to make sure the password store had a chance to save 1080 // Spin the message loop to make sure the password store had a chance to save
1081 // the password. 1081 // the password.
1082 base::RunLoop run_loop; 1082 base::RunLoop run_loop;
1083 run_loop.RunUntilIdle(); 1083 run_loop.RunUntilIdle();
1084 EXPECT_FALSE(password_store->IsEmpty()); 1084 EXPECT_FALSE(password_store->IsEmpty());
1085 } 1085 }
1086
1087 // In some situations, multiple PasswordFormManager instances from
1088 // PasswordManager::pending_login_managers_ would match (via DoesManage) a form
1089 // to be provisionally saved. One of them might be a complete match, the other
1090 // all-but-action match. Normally, the former should be preferred, but if the
1091 // former did not finished matching, and the latter did, the latter should be
engedy 2014/07/11 17:05:35 nit: s/did/has/
vabr (Chromium) 2014/07/11 18:15:47 Done.
1092 // used (otherwise we'd give up even though we could have saved the password).
1093 IN_PROC_BROWSER_TEST_F(PasswordManagerBrowserTest,
1094 TryToUsePasswordFormManagerWhichFinishedMatching) {
engedy 2014/07/11 17:05:35 nit: s/TryToUse/Prefer/
vabr (Chromium) 2014/07/11 18:15:47 Done.
1095 NavigateToFile("/password/create_form_copy_on_submit.html");
1096
1097 NavigationObserver observer(WebContents());
1098 std::string submit =
1099 "document.getElementById('username').value = 'overwrite_me';"
1100 "document.getElementById('password').value = 'random';"
1101 "document.getElementById('non-form-button').click();";
1102 ASSERT_TRUE(content::ExecuteScript(RenderViewHost(), submit));
1103 observer.Wait();
1104
1105 if (ChromePasswordManagerClient::IsTheHotNewBubbleUIEnabled()) {
1106 EXPECT_TRUE(ui_controller()->PasswordPendingUserDecision());
1107 } else {
1108 EXPECT_TRUE(observer.infobar_shown());
1109 }
1110 }
1111
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698