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

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

Issue 1212633003: Don't show any password manager icon when a user visits a blacklisted site. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: blank line Created 5 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/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 ddf92ce36605aede411820972f9b8395244cbbc5..5478e0290e5928e06a5368a10d7739f10b748bc4 100644
--- a/chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc
+++ b/chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc
@@ -51,7 +51,7 @@ class TestManagePasswordsUIController : public ManagePasswordsUIController {
void UpdateBubbleAndIconVisibility() override;
void UpdateAndroidAccountChooserInfoBarVisibility() override;
void SavePasswordInternal() override {}
- void NeverSavePasswordInternal() override {}
+ void NeverSavePasswordInternal() override;
base::TimeDelta elapsed_;
};
@@ -84,6 +84,17 @@ void TestManagePasswordsUIController::
OnBubbleShown();
}
+void TestManagePasswordsUIController::NeverSavePasswordInternal() {
+ autofill::PasswordForm blacklisted;
+ blacklisted.origin = this->origin();
+ blacklisted.signon_realm = blacklisted.origin.spec();
+ blacklisted.blacklisted_by_user = true;
+ password_manager::PasswordStoreChange change(
+ password_manager::PasswordStoreChange::ADD, blacklisted);
+ password_manager::PasswordStoreChangeList list(1, change);
+ OnLoginsChanged(list);
+}
+
} // namespace
class ManagePasswordsUIControllerTest : public ChromeRenderViewHostTestHarness {
@@ -126,6 +137,10 @@ class ManagePasswordsUIControllerTest : public ChromeRenderViewHostTestHarness {
credential_info_.reset(new password_manager::CredentialInfo(info));
}
+ password_manager::StubPasswordManagerClient* client() {
+ return &client_;
+ }
+
scoped_ptr<password_manager::PasswordFormManager> CreateFormManager();
private:
@@ -293,67 +308,41 @@ TEST_F(ManagePasswordsUIControllerTest, PasswordSubmittedToNonWebbyURL) {
TEST_F(ManagePasswordsUIControllerTest, BlacklistBlockedAutofill) {
scoped_ptr<autofill::PasswordForm> test_form(
new autofill::PasswordForm(test_local_form()));
- autofill::PasswordForm* test_form_ptr = test_form.get();
test_form->blacklisted_by_user = true;
base::string16 kTestUsername = test_form->username_value;
autofill::PasswordFormMap map;
map.insert(kTestUsername, test_form.Pass());
controller()->OnBlacklistBlockedAutofill(map);
- EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, controller()->state());
+ EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state());
EXPECT_FALSE(controller()->PasswordPendingUserDecision());
- EXPECT_EQ(test_form_ptr->origin, controller()->origin());
- ASSERT_EQ(1u, controller()->GetCurrentForms().size());
- EXPECT_EQ(kTestUsername, controller()->GetCurrentForms()[0]->username_value);
-
- // Controller should store a separate copy of the form as it doesn't own it.
- EXPECT_NE(test_form_ptr, controller()->GetCurrentForms()[0]);
ManagePasswordsIconMock mock;
controller()->UpdateIconAndBubbleState(&mock);
- EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, mock.state());
+ EXPECT_EQ(password_manager::ui::INACTIVE_STATE, mock.state());
}
TEST_F(ManagePasswordsUIControllerTest, ClickedUnblacklist) {
- base::string16 kTestUsername = base::ASCIIToUTF16("test_username");
- autofill::PasswordFormMap map;
- scoped_ptr<autofill::PasswordForm> test_form(
- new autofill::PasswordForm(test_local_form()));
- autofill::PasswordForm& test_form_ref = *test_form;
- map.insert(kTestUsername, test_form.Pass());
- test_form_ref.blacklisted_by_user = true;
- controller()->OnBlacklistBlockedAutofill(map);
- controller()->UnblacklistSite();
-
- EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->state());
- EXPECT_FALSE(controller()->PasswordPendingUserDecision());
+ scoped_ptr<password_manager::PasswordFormManager> test_form_manager(
+ ManagePasswordsUIControllerMock::CreateFormManager(
+ client(), test_local_form(), ScopedVector<autofill::PasswordForm>()));
+ test_form_manager->ProvisionallySave(
+ test_local_form(),
+ password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
+ controller()->OnPasswordSubmitted(test_form_manager.Pass());
EXPECT_EQ(test_local_form().origin, controller()->origin());
-
+ controller()->NeverSavePassword();
ManagePasswordsIconMock mock;
controller()->UpdateIconAndBubbleState(&mock);
- EXPECT_EQ(password_manager::ui::MANAGE_STATE, mock.state());
-}
-
-TEST_F(ManagePasswordsUIControllerTest, UnblacklistedElsewhere) {
- test_local_form().blacklisted_by_user = true;
- base::string16 kTestUsername = base::ASCIIToUTF16("test_username");
- autofill::PasswordFormMap map;
- map.insert(kTestUsername,
- make_scoped_ptr(new autofill::PasswordForm(test_local_form())));
- controller()->OnBlacklistBlockedAutofill(map);
-
- password_manager::PasswordStoreChange change(
- password_manager::PasswordStoreChange::REMOVE, test_local_form());
- password_manager::PasswordStoreChangeList list(1, change);
- controller()->OnLoginsChanged(list);
-
- EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->state());
- EXPECT_FALSE(controller()->PasswordPendingUserDecision());
+ EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, mock.state());
EXPECT_EQ(test_local_form().origin, controller()->origin());
- ManagePasswordsIconMock mock;
+ controller()->UnblacklistSite();
controller()->UpdateIconAndBubbleState(&mock);
EXPECT_EQ(password_manager::ui::MANAGE_STATE, mock.state());
+ EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->state());
+ EXPECT_FALSE(controller()->PasswordPendingUserDecision());
+ EXPECT_EQ(test_local_form().origin, controller()->origin());
}
TEST_F(ManagePasswordsUIControllerTest, BlacklistedElsewhere) {

Powered by Google App Engine
This is Rietveld 408576698