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

Unified Diff: components/password_manager/content/browser/content_credential_manager_dispatcher_unittest.cc

Issue 613993002: Credential Manager: Reject credential request if an outstanding request is pending. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@yay
Patch Set: Rebase. Created 6 years, 3 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: components/password_manager/content/browser/content_credential_manager_dispatcher_unittest.cc
diff --git a/components/password_manager/content/browser/content_credential_manager_dispatcher_unittest.cc b/components/password_manager/content/browser/content_credential_manager_dispatcher_unittest.cc
index fc1c88679d996480c41a486ff6c1c3b0ffcf1f5d..d98ee9040ed4e35284e77e855bcd9709ed679c27 100644
--- a/components/password_manager/content/browser/content_credential_manager_dispatcher_unittest.cc
+++ b/components/password_manager/content/browser/content_credential_manager_dispatcher_unittest.cc
@@ -130,4 +130,27 @@ TEST_F(ContentCredentialManagerDispatcherTest,
process()->sink().ClearMessages();
}
+TEST_F(ContentCredentialManagerDispatcherTest,
+ CredentialManagerOnRequestCredentialWhileRequestPending) {
+ std::vector<GURL> federations;
+ dispatcher()->OnRequestCredential(kRequestId, false, federations);
+ dispatcher()->OnRequestCredential(kRequestId, false, federations);
+
+ // Check that the second request triggered a rejection.
+ uint32 kMsgID = CredentialManagerMsg_RejectCredentialRequest::ID;
+ const IPC::Message* message =
+ process()->sink().GetFirstMessageMatching(kMsgID);
+ EXPECT_TRUE(message);
+ process()->sink().ClearMessages();
+
+ // Execute the PasswordStore asynchronousness.
+ RunAllPendingTasks();
+
+ // Check that the first request resolves.
+ kMsgID = CredentialManagerMsg_SendCredential::ID;
+ message = process()->sink().GetFirstMessageMatching(kMsgID);
+ EXPECT_TRUE(message);
+ process()->sink().ClearMessages();
+}
+
} // namespace password_manager

Powered by Google App Engine
This is Rietveld 408576698