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

Unified Diff: chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc

Issue 1826473002: Fix of quick disappearing of password bubble when autofill happens. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: UI test removed Created 4 years, 9 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/ui/passwords/manage_passwords_ui_controller_unittest.cc
diff --git a/chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc b/chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc
index 783370dde7f29bdc20237a133d6006e027b540aa..038aadbda177e7d99e351fd04a884964377bfed2 100644
--- a/chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc
+++ b/chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc
@@ -180,6 +180,10 @@ class ManagePasswordsUIControllerTest : public ChromeRenderViewHostTestHarness {
scoped_ptr<password_manager::PasswordFormManager> CreateFormManager();
+ // Tests that the state is not changed when the password is autofilled.
+ void TestNotChangingStateOnAutofill(
+ password_manager::ui::State state);
+
private:
password_manager::StubPasswordManagerClient client_;
password_manager::StubPasswordManagerDriver driver_;
@@ -248,6 +252,39 @@ ManagePasswordsUIControllerTest::CreateFormManager() {
std::move(stored_forms));
}
+void ManagePasswordsUIControllerTest::TestNotChangingStateOnAutofill(
+ password_manager::ui::State state) {
+ DCHECK(state == password_manager::ui::PENDING_PASSWORD_STATE ||
+ state == password_manager::ui::PENDING_PASSWORD_UPDATE_STATE ||
+ state == password_manager::ui::CONFIRMATION_STATE);
+
+ // Set the bubble state to |state|.
+ scoped_ptr<password_manager::PasswordFormManager> test_form_manager(
+ CreateFormManager());
+ test_form_manager->ProvisionallySave(
+ test_local_form(),
+ password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
+ if (state == password_manager::ui::PENDING_PASSWORD_STATE)
+ controller()->OnPasswordSubmitted(std::move(test_form_manager));
+ else if (state == password_manager::ui::PENDING_PASSWORD_UPDATE_STATE)
+ controller()->OnUpdatePasswordSubmitted(std::move(test_form_manager));
+ else // password_manager::ui::CONFIRMATION_STATE
+ controller()->OnAutomaticPasswordSave(std::move(test_form_manager));
+ ASSERT_EQ(state, controller()->GetState());
+
+ // Autofill happens.
+ scoped_ptr<autofill::PasswordForm> test_form(
+ new autofill::PasswordForm(test_local_form()));
+ autofill::PasswordFormMap map;
+ map.insert(
+ std::make_pair(test_local_form().username_value, std::move(test_form)));
+ controller()->OnPasswordAutofilled(map, map.begin()->second->origin, nullptr);
+
+ // State shouldn't changed.
+ EXPECT_EQ(state, controller()->GetState());
+ ExpectIconStateIs(state);
+}
+
TEST_F(ManagePasswordsUIControllerTest, DefaultState) {
EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->GetState());
EXPECT_EQ(GURL::EmptyGURL(), controller()->GetOrigin());
@@ -716,3 +753,16 @@ TEST_F(ManagePasswordsUIControllerTest, PasswordUpdated) {
controller()->UpdatePassword(autofill::PasswordForm());
ExpectIconStateIs(password_manager::ui::MANAGE_STATE);
}
+
+TEST_F(ManagePasswordsUIControllerTest, SavePendingStatePasswordAutofilled) {
+ TestNotChangingStateOnAutofill(password_manager::ui::PENDING_PASSWORD_STATE);
+}
+
+TEST_F(ManagePasswordsUIControllerTest, UpdatePendingStatePasswordAutofilled) {
+ TestNotChangingStateOnAutofill(
+ password_manager::ui::PENDING_PASSWORD_UPDATE_STATE);
+}
+
+TEST_F(ManagePasswordsUIControllerTest, ConfirmationStatePasswordAutofilled) {
+ TestNotChangingStateOnAutofill(password_manager::ui::CONFIRMATION_STATE);
+}

Powered by Google App Engine
This is Rietveld 408576698