| Index: chrome/browser/ui/passwords/manage_passwords_bubble_ui_controller.cc
|
| diff --git a/chrome/browser/ui/passwords/manage_passwords_bubble_ui_controller.cc b/chrome/browser/ui/passwords/manage_passwords_bubble_ui_controller.cc
|
| index 88c76e64107b753d5d0099dfe3bbbdab3dc51476..2dbd6c13fad2c4632c4ee393b41d53bb957aa974 100644
|
| --- a/chrome/browser/ui/passwords/manage_passwords_bubble_ui_controller.cc
|
| +++ b/chrome/browser/ui/passwords/manage_passwords_bubble_ui_controller.cc
|
| @@ -80,7 +80,10 @@ void ManagePasswordsBubbleUIController::OnPasswordAutofilled(
|
| UpdateBubbleAndIconVisibility();
|
| }
|
|
|
| -void ManagePasswordsBubbleUIController::OnBlacklistBlockedAutofill() {
|
| +void ManagePasswordsBubbleUIController::OnBlacklistBlockedAutofill(
|
| + const PasswordFormMap& password_form_map) {
|
| + password_form_map_ = password_form_map;
|
| + origin_ = password_form_map_.begin()->second->origin;
|
| manage_passwords_icon_to_be_shown_ = true;
|
| password_to_be_saved_ = false;
|
| manage_passwords_bubble_needs_showing_ = false;
|
| @@ -130,11 +133,32 @@ void ManagePasswordsBubbleUIController::
|
| void ManagePasswordsBubbleUIController::SavePassword() {
|
| DCHECK(form_manager_.get());
|
| form_manager_->Save();
|
| + password_to_be_saved_ = false;
|
| }
|
|
|
| void ManagePasswordsBubbleUIController::NeverSavePassword() {
|
| DCHECK(form_manager_.get());
|
| form_manager_->PermanentlyBlacklist();
|
| + autofill_blocked_ = true;
|
| + password_to_be_saved_ = false;
|
| + UpdateBubbleAndIconVisibility();
|
| +}
|
| +
|
| +void ManagePasswordsBubbleUIController::UnblacklistSite() {
|
| + // We're in one of two states: either the user _just_ blacklisted the site
|
| + // by clicking "Never save" in the pending bubble, or the user is visiting
|
| + // a blacklisted site.
|
| + //
|
| + // Either way, |password_form_map_| has been populated with the relevant
|
| + // form. We can safely pull it out, send it over to the password store
|
| + // for removal, and update our internal state.
|
| + DCHECK(!password_form_map_.empty());
|
| + password_manager::PasswordStore* password_store =
|
| + GetPasswordStore(web_contents());
|
| + if (password_store)
|
| + password_store->RemoveLogin(*password_form_map_.begin()->second);
|
| + autofill_blocked_ = false;
|
| + UpdateBubbleAndIconVisibility();
|
| }
|
|
|
| void ManagePasswordsBubbleUIController::DidNavigateMainFrame(
|
|
|