Index: components/password_manager/core/browser/login_database.cc |
diff --git a/components/password_manager/core/browser/login_database.cc b/components/password_manager/core/browser/login_database.cc |
index 62194a5482c57a70b9e023460e77db7041bdaf7e..788b4f4a0e3c958cbc918bd808ff6be40b95455c 100644 |
--- a/components/password_manager/core/browser/login_database.cc |
+++ b/components/password_manager/core/browser/login_database.cc |
@@ -936,9 +936,9 @@ PasswordStoreChangeList LoginDatabase::UpdateLogin(const PasswordForm& form) { |
} |
bool LoginDatabase::RemoveLogin(const PasswordForm& form) { |
- if (form.IsPublicSuffixMatch()) { |
- // Do not try to remove |form|. It is a modified copy of a password stored |
- // for a different origin, and it is not contained in the database. |
+ if (form.is_public_suffix_match) { |
+ // TODO(dvadym): Discuss whether we should allow to remove PSL matched |
+ // credentials. |
return false; |
} |
// Remove a login by UNIQUE-constrained fields. |
@@ -1227,16 +1227,7 @@ bool LoginDatabase::StatementToForms( |
} |
psl_domain_match_metric = PSL_DOMAIN_MATCH_FOUND; |
- // This is not a perfect match, so we need to create a new valid result. |
- // We do this by copying over origin, signon realm and action from the |
- // observed form and setting the original signon realm to what we found |
- // in the database. We use the fact that |original_signon_realm| is |
- // non-empty to communicate that this match was found using public |
- // suffix matching. |
- new_form->original_signon_realm = new_form->signon_realm; |
- new_form->origin = psl_match->origin; |
- new_form->signon_realm = psl_match->signon_realm; |
- new_form->action = psl_match->action; |
+ new_form->is_public_suffix_match = true; |
} |
forms->push_back(new_form.Pass()); |
} |