Index: chrome/browser/ui/passwords/manage_passwords_bubble_model.cc |
diff --git a/chrome/browser/ui/passwords/manage_passwords_bubble_model.cc b/chrome/browser/ui/passwords/manage_passwords_bubble_model.cc |
index 4d863737b4143c335e4cd8324af407afc4f22faf..94358b982a605dfc993db22b5b6ae6232ce2927c 100644 |
--- a/chrome/browser/ui/passwords/manage_passwords_bubble_model.cc |
+++ b/chrome/browser/ui/passwords/manage_passwords_bubble_model.cc |
@@ -29,6 +29,8 @@ ManagePasswordsBubbleModel::ManagePasswordsBubbleModel( |
manage_passwords_bubble_state_ = PASSWORD_TO_BE_SAVED; |
pending_credentials_ = |
manage_passwords_bubble_ui_controller->PendingCredentials(); |
+ } else if (manage_passwords_bubble_ui_controller->autofill_blocked()) { |
+ manage_passwords_bubble_state_ = NEVER_SAVE_PASSWORDS; |
} else { |
manage_passwords_bubble_state_ = MANAGE_PASSWORDS; |
} |
@@ -45,19 +47,18 @@ ManagePasswordsBubbleModel::~ManagePasswordsBubbleModel() {} |
void ManagePasswordsBubbleModel::OnBubbleShown( |
ManagePasswordsBubble::DisplayReason reason) { |
- DCHECK(WaitingToSavePassword() || |
- reason == ManagePasswordsBubble::USER_ACTION); |
if (reason == ManagePasswordsBubble::USER_ACTION) { |
if (WaitingToSavePassword()) { |
display_disposition_ = |
password_manager::metrics_util::MANUAL_WITH_PASSWORD_PENDING; |
+ } else if (NeverSavingPasswords()) { |
+ display_disposition_ = password_manager::metrics_util::MANUAL_BLACKLISTED; |
} else { |
- // TODO(mkwst): Deal with "Never save passwords" once we've decided how |
- // that flow should work. |
display_disposition_ = |
password_manager::metrics_util::MANUAL_MANAGE_PASSWORDS; |
} |
} else { |
+ DCHECK(WaitingToSavePassword()); |
display_disposition_ = |
password_manager::metrics_util::AUTOMATIC_WITH_PASSWORD_PENDING; |
} |
@@ -94,6 +95,14 @@ void ManagePasswordsBubbleModel::OnNeverForThisSiteClicked() { |
manage_passwords_bubble_state_ = NEVER_SAVE_PASSWORDS; |
} |
+void ManagePasswordsBubbleModel::OnUnblacklistClicked() { |
+ dismissal_reason_ = password_manager::metrics_util::CLICKED_UNBLACKLIST; |
+ ManagePasswordsBubbleUIController* manage_passwords_bubble_ui_controller = |
+ ManagePasswordsBubbleUIController::FromWebContents(web_contents_); |
+ manage_passwords_bubble_ui_controller->UnblacklistSite(); |
+ manage_passwords_bubble_state_ = MANAGE_PASSWORDS; |
+} |
+ |
void ManagePasswordsBubbleModel::OnSaveClicked() { |
dismissal_reason_ = password_manager::metrics_util::CLICKED_SAVE; |
ManagePasswordsBubbleUIController* manage_passwords_bubble_ui_controller = |