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

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

Issue 1960653002: Fix blacklisting password forms with Credential Manager API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2704
Patch Set: Created 4 years, 7 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/password_form_manager.cc
diff --git a/components/password_manager/core/browser/password_form_manager.cc b/components/password_manager/core/browser/password_form_manager.cc
index a4659e6ab6409982ee7b86fca26ed0f3b3a8565b..ae16eecae59543bfa177af398cc5b0b78d5006dc 100644
--- a/components/password_manager/core/browser/password_form_manager.cc
+++ b/components/password_manager/core/browser/password_form_manager.cc
@@ -251,12 +251,9 @@ void PasswordFormManager::PermanentlyBlacklist() {
DCHECK(!client_->IsOffTheRecord());
// Configure the form about to be saved for blacklist status.
- blacklisted_matches_.push_back(
- new autofill::PasswordForm(pending_credentials_));
+ blacklisted_matches_.push_back(new autofill::PasswordForm(observed_form_));
blacklisted_matches_.back()->preferred = false;
blacklisted_matches_.back()->blacklisted_by_user = true;
- blacklisted_matches_.back()->username_value.clear();
- blacklisted_matches_.back()->password_value.clear();
blacklisted_matches_.back()->other_possible_usernames.clear();
blacklisted_matches_.back()->date_created = Time::Now();
@@ -1142,12 +1139,15 @@ void PasswordFormManager::CreatePendingCredentials() {
pending_credentials_.preferred = provisionally_saved_form_->preferred;
// If we're dealing with an API-driven provisionally saved form, then take
- // its 'skip_zero_click' value. We don't do this for non-API forms, as
- // those will never have 'skip_zero_click' set, and we would otherwise
- // overwrite a user's auto-sign-in preference when they used autofill.
+ // the server provided values. We don't do this for non-API forms, as
+ // those will never have those members set.
if (provisionally_saved_form_->type == autofill::PasswordForm::TYPE_API) {
pending_credentials_.skip_zero_click =
provisionally_saved_form_->skip_zero_click;
+ pending_credentials_.display_name = provisionally_saved_form_->display_name;
+ pending_credentials_.federation_origin =
+ provisionally_saved_form_->federation_origin;
+ pending_credentials_.icon_url = provisionally_saved_form_->icon_url;
}
if (user_action_ == kUserActionOverridePassword &&

Powered by Google App Engine
This is Rietveld 408576698