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 0e573191da7f1b910f6ad4849be52f837c406204..8c3a29e5dbef6f4d22270efd5ebc972aa3b3fb83 100644 |
--- a/chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc |
+++ b/chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc |
@@ -90,6 +90,7 @@ class TestManagePasswordsUIController : public ManagePasswordsUIController { |
AccountChooserPrompt*(PasswordDialogController*)); |
MOCK_METHOD1(CreateAutoSigninPrompt, |
AutoSigninFirstRunPrompt*(PasswordDialogController*)); |
+ MOCK_METHOD0(OnUpdateBubbleAndIconVisibility, void()); |
using ManagePasswordsUIController::DidNavigateMainFrame; |
private: |
@@ -119,6 +120,7 @@ TestManagePasswordsUIController::~TestManagePasswordsUIController() { |
void TestManagePasswordsUIController::UpdateBubbleAndIconVisibility() { |
opened_bubble_ = IsAutomaticallyOpeningBubble(); |
ManagePasswordsUIController::UpdateBubbleAndIconVisibility(); |
+ OnUpdateBubbleAndIconVisibility(); |
if (opened_bubble_) |
OnBubbleShown(); |
} |
@@ -208,6 +210,7 @@ void ManagePasswordsUIControllerTest::SetUp() { |
url::Origin(GURL("https://federation.test/")); |
// We need to be on a "webby" URL for most tests. |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
content::WebContentsTester::For(web_contents()) |
->NavigateAndCommit(GURL("http://example.com")); |
} |
@@ -258,6 +261,7 @@ void ManagePasswordsUIControllerTest::TestNotChangingStateOnAutofill( |
test_form_manager->ProvisionallySave( |
test_local_form(), |
password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
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) |
@@ -293,6 +297,7 @@ TEST_F(ManagePasswordsUIControllerTest, PasswordAutofilled) { |
base::string16 kTestUsername = test_form->username_value; |
autofill::PasswordFormMap map; |
map.insert(std::make_pair(kTestUsername, std::move(test_form))); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
controller()->OnPasswordAutofilled(map, map.begin()->second->origin, nullptr); |
EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState()); |
@@ -312,6 +317,7 @@ TEST_F(ManagePasswordsUIControllerTest, PasswordSubmitted) { |
test_form_manager->ProvisionallySave( |
test_local_form(), |
password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
controller()->OnPasswordSubmitted(std::move(test_form_manager)); |
EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE, |
controller()->GetState()); |
@@ -331,7 +337,7 @@ TEST_F(ManagePasswordsUIControllerTest, BlacklistedFormPasswordSubmitted) { |
std::unique_ptr<password_manager::PasswordFormManager> test_form_manager = |
CreateFormManagerWithBestMatches(test_local_form(), |
std::move(stored_forms)); |
- |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
controller()->OnPasswordSubmitted(std::move(test_form_manager)); |
EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE, |
controller()->GetState()); |
@@ -356,6 +362,7 @@ TEST_F(ManagePasswordsUIControllerTest, PasswordSubmittedBubbleSuppressed) { |
test_form_manager->ProvisionallySave( |
test_local_form(), |
password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
controller()->OnPasswordSubmitted(std::move(test_form_manager)); |
EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE, |
controller()->GetState()); |
@@ -383,6 +390,7 @@ TEST_F(ManagePasswordsUIControllerTest, PasswordSubmittedBubbleNotSuppressed) { |
test_form_manager->ProvisionallySave( |
test_local_form(), |
password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
controller()->OnPasswordSubmitted(std::move(test_form_manager)); |
EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE, |
controller()->GetState()); |
@@ -399,6 +407,7 @@ TEST_F(ManagePasswordsUIControllerTest, PasswordSaved) { |
test_form_manager->ProvisionallySave( |
test_local_form(), |
password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
controller()->OnPasswordSubmitted(std::move(test_form_manager)); |
controller()->SavePassword(); |
@@ -411,6 +420,7 @@ TEST_F(ManagePasswordsUIControllerTest, PasswordBlacklisted) { |
test_form_manager->ProvisionallySave( |
test_local_form(), |
password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
controller()->OnPasswordSubmitted(std::move(test_form_manager)); |
controller()->NeverSavePassword(); |
@@ -420,6 +430,7 @@ TEST_F(ManagePasswordsUIControllerTest, PasswordBlacklisted) { |
TEST_F(ManagePasswordsUIControllerTest, NormalNavigations) { |
std::unique_ptr<password_manager::PasswordFormManager> test_form_manager( |
CreateFormManager()); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
controller()->OnPasswordSubmitted(std::move(test_form_manager)); |
ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_STATE); |
@@ -436,12 +447,15 @@ TEST_F(ManagePasswordsUIControllerTest, NormalNavigations) { |
TEST_F(ManagePasswordsUIControllerTest, NormalNavigationsClosedBubble) { |
std::unique_ptr<password_manager::PasswordFormManager> test_form_manager( |
CreateFormManager()); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
controller()->OnPasswordSubmitted(std::move(test_form_manager)); |
controller()->SavePassword(); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
controller()->OnBubbleHidden(); |
ExpectIconStateIs(password_manager::ui::MANAGE_STATE); |
// Fake-navigate. There is no bubble, reset the state. |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
controller()->DidNavigateMainFrame(content::LoadCommittedDetails(), |
content::FrameNavigateParams()); |
EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->GetState()); |
@@ -450,6 +464,7 @@ TEST_F(ManagePasswordsUIControllerTest, NormalNavigationsClosedBubble) { |
TEST_F(ManagePasswordsUIControllerTest, PasswordSubmittedToNonWebbyURL) { |
// Navigate to a non-webby URL, then see what happens! |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
content::WebContentsTester::For(web_contents()) |
->NavigateAndCommit(GURL("chrome://sign-in")); |
@@ -458,6 +473,7 @@ TEST_F(ManagePasswordsUIControllerTest, PasswordSubmittedToNonWebbyURL) { |
test_form_manager->ProvisionallySave( |
test_local_form(), |
password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
controller()->OnPasswordSubmitted(std::move(test_form_manager)); |
EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->GetState()); |
EXPECT_EQ(GURL::EmptyGURL(), controller()->GetOrigin()); |
@@ -471,6 +487,7 @@ TEST_F(ManagePasswordsUIControllerTest, BlacklistedElsewhere) { |
map.insert(std::make_pair( |
kTestUsername, |
base::WrapUnique(new autofill::PasswordForm(test_local_form())))); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
controller()->OnPasswordAutofilled(map, map.begin()->second->origin, nullptr); |
test_local_form().blacklisted_by_user = true; |
@@ -488,10 +505,11 @@ TEST_F(ManagePasswordsUIControllerTest, BlacklistedElsewhere) { |
TEST_F(ManagePasswordsUIControllerTest, AutomaticPasswordSave) { |
std::unique_ptr<password_manager::PasswordFormManager> test_form_manager( |
CreateFormManager()); |
- |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
controller()->OnAutomaticPasswordSave(std::move(test_form_manager)); |
EXPECT_EQ(password_manager::ui::CONFIRMATION_STATE, controller()->GetState()); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
controller()->OnBubbleHidden(); |
ExpectIconStateIs(password_manager::ui::MANAGE_STATE); |
} |
@@ -505,6 +523,7 @@ TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialLocal) { |
EXPECT_CALL(*controller(), CreateAccountChooser(_)).WillOnce( |
DoAll(SaveArg<0>(&dialog_controller), Return(&dialog_prompt()))); |
EXPECT_CALL(dialog_prompt(), ShowAccountChooser()); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
EXPECT_TRUE(controller()->OnChooseCredentials( |
std::move(local_credentials), std::move(federated_credentials), origin, |
base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, |
@@ -521,6 +540,7 @@ TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialLocal) { |
EXPECT_CALL(dialog_prompt(), ControllerGone()); |
EXPECT_CALL(*this, CredentialCallback(Pointee(test_local_form()))); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
dialog_controller->OnChooseCredentials( |
*dialog_controller->GetLocalForms()[0], |
password_manager::CredentialType::CREDENTIAL_TYPE_PASSWORD); |
@@ -537,6 +557,7 @@ TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialLocalButFederated) { |
EXPECT_CALL(*controller(), CreateAccountChooser(_)).WillOnce( |
DoAll(SaveArg<0>(&dialog_controller), Return(&dialog_prompt()))); |
EXPECT_CALL(dialog_prompt(), ShowAccountChooser()); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
EXPECT_TRUE(controller()->OnChooseCredentials( |
std::move(local_credentials), std::move(federated_credentials), origin, |
base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, |
@@ -553,6 +574,7 @@ TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialLocalButFederated) { |
EXPECT_CALL(dialog_prompt(), ControllerGone()); |
EXPECT_CALL(*this, CredentialCallback(Pointee(test_federated_form()))); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
dialog_controller->OnChooseCredentials( |
*dialog_controller->GetLocalForms()[0], |
password_manager::CredentialType::CREDENTIAL_TYPE_PASSWORD); |
@@ -568,6 +590,7 @@ TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialCancel) { |
EXPECT_CALL(*controller(), CreateAccountChooser(_)).WillOnce( |
DoAll(SaveArg<0>(&dialog_controller), Return(&dialog_prompt()))); |
EXPECT_CALL(dialog_prompt(), ShowAccountChooser()); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
EXPECT_TRUE(controller()->OnChooseCredentials( |
std::move(local_credentials), std::move(federated_credentials), origin, |
base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, |
@@ -578,6 +601,7 @@ TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialCancel) { |
EXPECT_CALL(dialog_prompt(), ControllerGone()).Times(0); |
EXPECT_CALL(*this, CredentialCallback(nullptr)); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
dialog_controller->OnCloseDialog(); |
EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState()); |
} |
@@ -585,6 +609,7 @@ TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialCancel) { |
TEST_F(ManagePasswordsUIControllerTest, AutoSignin) { |
ScopedVector<autofill::PasswordForm> local_credentials; |
local_credentials.push_back(new autofill::PasswordForm(test_local_form())); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
controller()->OnAutoSignin(std::move(local_credentials), |
test_local_form().origin); |
EXPECT_EQ(password_manager::ui::AUTO_SIGNIN_STATE, controller()->GetState()); |
@@ -592,6 +617,7 @@ TEST_F(ManagePasswordsUIControllerTest, AutoSignin) { |
ASSERT_FALSE(controller()->GetCurrentForms().empty()); |
EXPECT_EQ(test_local_form(), *controller()->GetCurrentForms()[0]); |
ExpectIconStateIs(password_manager::ui::AUTO_SIGNIN_STATE); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
controller()->OnBubbleHidden(); |
ExpectIconAndControllerStateIs(password_manager::ui::MANAGE_STATE); |
} |
@@ -614,6 +640,7 @@ TEST_F(ManagePasswordsUIControllerTest, AutoSigninFirstRunAfterAutofill) { |
const base::string16 kTestUsername = test_form->username_value; |
autofill::PasswordFormMap map; |
map.insert(std::make_pair(kTestUsername, std::move(test_form))); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
controller()->OnPasswordAutofilled(map, test_form_ptr->origin, nullptr); |
EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState()); |
@@ -641,6 +668,7 @@ TEST_F(ManagePasswordsUIControllerTest, AutoSigninFirstRunAfterNavigation) { |
EXPECT_CALL(dialog_prompt(), ControllerGone()).Times(0); |
content::FrameNavigateParams params; |
params.transition = ui::PAGE_TRANSITION_LINK; |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
controller()->DidNavigateMainFrame(content::LoadCommittedDetails(), params); |
ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(&dialog_prompt())); |
EXPECT_CALL(dialog_prompt(), ControllerGone()); |
@@ -649,6 +677,7 @@ TEST_F(ManagePasswordsUIControllerTest, AutoSigninFirstRunAfterNavigation) { |
TEST_F(ManagePasswordsUIControllerTest, AutofillDuringAutoSignin) { |
ScopedVector<autofill::PasswordForm> local_credentials; |
local_credentials.push_back(new autofill::PasswordForm(test_local_form())); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
controller()->OnAutoSignin(std::move(local_credentials), |
test_local_form().origin); |
ExpectIconAndControllerStateIs(password_manager::ui::AUTO_SIGNIN_STATE); |
@@ -669,6 +698,7 @@ TEST_F(ManagePasswordsUIControllerTest, InactiveOnPSLMatched) { |
new autofill::PasswordForm(test_local_form())); |
psl_matched_test_form->is_public_suffix_match = true; |
map.insert(std::make_pair(kTestUsername, std::move(psl_matched_test_form))); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
controller()->OnPasswordAutofilled(map, map.begin()->second->origin, nullptr); |
EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->GetState()); |
@@ -677,6 +707,7 @@ TEST_F(ManagePasswordsUIControllerTest, InactiveOnPSLMatched) { |
TEST_F(ManagePasswordsUIControllerTest, UpdatePasswordSubmitted) { |
std::unique_ptr<password_manager::PasswordFormManager> test_form_manager( |
CreateFormManager()); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
controller()->OnUpdatePasswordSubmitted(std::move(test_form_manager)); |
EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE, |
controller()->GetState()); |
@@ -690,9 +721,11 @@ TEST_F(ManagePasswordsUIControllerTest, PasswordUpdated) { |
test_form_manager->ProvisionallySave( |
test_local_form(), |
password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
controller()->OnUpdatePasswordSubmitted(std::move(test_form_manager)); |
ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
controller()->UpdatePassword(autofill::PasswordForm()); |
ExpectIconStateIs(password_manager::ui::MANAGE_STATE); |
} |