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

Unified Diff: components/password_manager/core/browser/login_database_unittest.cc

Issue 2132063002: Implement origin-based deletion for password manager's auto-signin bit. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed PasswordStoreMac Created 4 years, 5 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/core/browser/login_database_unittest.cc
diff --git a/components/password_manager/core/browser/login_database_unittest.cc b/components/password_manager/core/browser/login_database_unittest.cc
index abf7ab0350eb27c4f567f197252d189fbdcde034..73226b5167d8cf542f11d530a389b472e909d4c1 100644
--- a/components/password_manager/core/browser/login_database_unittest.cc
+++ b/components/password_manager/core/browser/login_database_unittest.cc
@@ -88,18 +88,19 @@ template<> std::string GetFirstColumn(const sql::Statement& s) {
}
bool AddZeroClickableLogin(LoginDatabase* db,
- const std::string& unique_string) {
+ const std::string& unique_string,
+ const GURL& origin) {
// Example password form.
PasswordForm form;
- form.origin = GURL("https://example.com/");
+ form.origin = origin;
form.username_element = ASCIIToUTF16(unique_string);
form.username_value = ASCIIToUTF16(unique_string);
form.password_element = ASCIIToUTF16(unique_string);
form.submit_element = ASCIIToUTF16("signIn");
form.signon_realm = form.origin.spec();
form.display_name = ASCIIToUTF16(unique_string);
- form.icon_url = GURL("https://example.com/");
- form.federation_origin = url::Origin(GURL("https://example.com/"));
+ form.icon_url = origin;
+ form.federation_origin = url::Origin(origin);
form.date_created = base::Time::Now();
form.skip_zero_click = false;
@@ -854,37 +855,47 @@ TEST_F(LoginDatabaseTest, RemoveLoginsSyncedBetween) {
TEST_F(LoginDatabaseTest, GetAutoSignInLogins) {
ScopedVector<autofill::PasswordForm> result;
- EXPECT_TRUE(AddZeroClickableLogin(&db(), "foo1"));
- EXPECT_TRUE(AddZeroClickableLogin(&db(), "foo2"));
- EXPECT_TRUE(AddZeroClickableLogin(&db(), "foo3"));
- EXPECT_TRUE(AddZeroClickableLogin(&db(), "foo4"));
+ GURL origin("https://example.com");
+ EXPECT_TRUE(AddZeroClickableLogin(&db(), "foo1", origin));
+ EXPECT_TRUE(AddZeroClickableLogin(&db(), "foo2", origin));
+ EXPECT_TRUE(AddZeroClickableLogin(&db(), "foo3", origin));
+ EXPECT_TRUE(AddZeroClickableLogin(&db(), "foo4", origin));
EXPECT_TRUE(db().GetAutoSignInLogins(&result));
EXPECT_EQ(4U, result.size());
for (const auto& form : result)
EXPECT_FALSE(form->skip_zero_click);
- EXPECT_TRUE(db().DisableAutoSignInForAllLogins());
+ EXPECT_TRUE(db().DisableAutoSignInForOrigin(origin));
EXPECT_TRUE(db().GetAutoSignInLogins(&result));
EXPECT_EQ(0U, result.size());
}
-TEST_F(LoginDatabaseTest, DisableAutoSignInForAllLogins) {
+TEST_F(LoginDatabaseTest, DisableAutoSignInForOrigin) {
ScopedVector<autofill::PasswordForm> result;
- EXPECT_TRUE(AddZeroClickableLogin(&db(), "foo1"));
- EXPECT_TRUE(AddZeroClickableLogin(&db(), "foo2"));
- EXPECT_TRUE(AddZeroClickableLogin(&db(), "foo3"));
- EXPECT_TRUE(AddZeroClickableLogin(&db(), "foo4"));
+ GURL origin1("https://google.com");
+ GURL origin2("https://chrome.com");
+ GURL origin3("http://example.com");
+ GURL origin4("http://localhost");
+ EXPECT_TRUE(AddZeroClickableLogin(&db(), "foo1", origin1));
+ EXPECT_TRUE(AddZeroClickableLogin(&db(), "foo2", origin2));
+ EXPECT_TRUE(AddZeroClickableLogin(&db(), "foo3", origin3));
+ EXPECT_TRUE(AddZeroClickableLogin(&db(), "foo4", origin4));
EXPECT_TRUE(db().GetAutofillableLogins(&result));
for (const auto& form : result)
EXPECT_FALSE(form->skip_zero_click);
- EXPECT_TRUE(db().DisableAutoSignInForAllLogins());
+ EXPECT_TRUE(db().DisableAutoSignInForOrigin(origin1));
+ EXPECT_TRUE(db().DisableAutoSignInForOrigin(origin3));
EXPECT_TRUE(db().GetAutofillableLogins(&result));
- for (const auto& form : result)
- EXPECT_TRUE(form->skip_zero_click);
+ for (const auto* form : result) {
+ if (form->origin == origin1 || form->origin == origin3)
+ EXPECT_TRUE(form->skip_zero_click);
+ else
+ EXPECT_FALSE(form->skip_zero_click);
+ }
}
TEST_F(LoginDatabaseTest, BlacklistedLogins) {

Powered by Google App Engine
This is Rietveld 408576698