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

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

Issue 2432483002: Do not try to pop up the account chooser if there is no browser window. (Closed)
Patch Set: Created 4 years, 2 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
« no previous file with comments | « chrome/browser/ui/passwords/manage_passwords_ui_controller.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 4d2385ced9bae02f9698f34b80dc4107dd9b21fe..61bb1927a08bf51b2bc37b5e08a51b4f9639bc99 100644
--- a/chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc
+++ b/chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc
@@ -94,6 +94,7 @@ class TestManagePasswordsUIController : public ManagePasswordsUIController {
AccountChooserPrompt*(PasswordDialogController*));
MOCK_METHOD1(CreateAutoSigninPrompt,
AutoSigninFirstRunPrompt*(PasswordDialogController*));
+ MOCK_CONST_METHOD0(HasBrowserWindow, bool());
MOCK_METHOD0(OnUpdateBubbleAndIconVisibility, void());
using ManagePasswordsUIController::DidNavigateMainFrame;
@@ -524,6 +525,7 @@ TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialLocal) {
DoAll(SaveArg<0>(&dialog_controller), Return(&dialog_prompt())));
EXPECT_CALL(dialog_prompt(), ShowAccountChooser());
EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
+ EXPECT_CALL(*controller(), HasBrowserWindow()).WillOnce(Return(true));
EXPECT_TRUE(controller()->OnChooseCredentials(
std::move(local_credentials), std::move(federated_credentials), origin,
base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback,
@@ -558,6 +560,7 @@ TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialLocalButFederated) {
DoAll(SaveArg<0>(&dialog_controller), Return(&dialog_prompt())));
EXPECT_CALL(dialog_prompt(), ShowAccountChooser());
EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
+ EXPECT_CALL(*controller(), HasBrowserWindow()).WillOnce(Return(true));
EXPECT_TRUE(controller()->OnChooseCredentials(
std::move(local_credentials), std::move(federated_credentials), origin,
base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback,
@@ -591,6 +594,7 @@ TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialCancel) {
DoAll(SaveArg<0>(&dialog_controller), Return(&dialog_prompt())));
EXPECT_CALL(dialog_prompt(), ShowAccountChooser());
EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
+ EXPECT_CALL(*controller(), HasBrowserWindow()).WillOnce(Return(true));
EXPECT_TRUE(controller()->OnChooseCredentials(
std::move(local_credentials), std::move(federated_credentials), origin,
base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback,
@@ -606,6 +610,22 @@ TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialCancel) {
EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState());
}
+TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialPrefetch) {
+ std::vector<std::unique_ptr<autofill::PasswordForm>> local_credentials;
+ local_credentials.emplace_back(new autofill::PasswordForm(test_local_form()));
+ std::vector<std::unique_ptr<autofill::PasswordForm>> federated_credentials;
+ GURL origin("http://example.com");
+
+ // Simulate requesting a credential during prefetch. The tab has no associated
+ // browser. Nothing should happen.
+ EXPECT_CALL(*controller(), HasBrowserWindow()).WillOnce(Return(false));
+ EXPECT_FALSE(controller()->OnChooseCredentials(
+ std::move(local_credentials), std::move(federated_credentials), origin,
+ base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback,
+ base::Unretained(this))));
+ EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->GetState());
+}
+
TEST_F(ManagePasswordsUIControllerTest, AutoSignin) {
std::vector<std::unique_ptr<autofill::PasswordForm>> local_credentials;
local_credentials.emplace_back(new autofill::PasswordForm(test_local_form()));
« no previous file with comments | « chrome/browser/ui/passwords/manage_passwords_ui_controller.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698