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

Side by Side Diff: chrome/browser/ui/passwords/manage_passwords_bubble_model.cc

Issue 259153004: Password bubble: Give users the option of unblacklisting a site. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h" 5 #include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h"
6 6
7 #include "chrome/browser/password_manager/password_store_factory.h" 7 #include "chrome/browser/password_manager/password_store_factory.h"
8 #include "chrome/browser/ui/browser.h" 8 #include "chrome/browser/ui/browser.h"
9 #include "chrome/browser/ui/browser_finder.h" 9 #include "chrome/browser/ui/browser_finder.h"
10 #include "chrome/browser/ui/passwords/manage_passwords_bubble_ui_controller.h" 10 #include "chrome/browser/ui/passwords/manage_passwords_bubble_ui_controller.h"
(...skipping 11 matching lines...) Expand all
22 display_disposition_( 22 display_disposition_(
23 password_manager::metrics_util::AUTOMATIC_WITH_PASSWORD_PENDING), 23 password_manager::metrics_util::AUTOMATIC_WITH_PASSWORD_PENDING),
24 dismissal_reason_(password_manager::metrics_util::NOT_DISPLAYED) { 24 dismissal_reason_(password_manager::metrics_util::NOT_DISPLAYED) {
25 ManagePasswordsBubbleUIController* manage_passwords_bubble_ui_controller = 25 ManagePasswordsBubbleUIController* manage_passwords_bubble_ui_controller =
26 ManagePasswordsBubbleUIController::FromWebContents(web_contents_); 26 ManagePasswordsBubbleUIController::FromWebContents(web_contents_);
27 27
28 if (manage_passwords_bubble_ui_controller->password_to_be_saved()) { 28 if (manage_passwords_bubble_ui_controller->password_to_be_saved()) {
29 manage_passwords_bubble_state_ = PASSWORD_TO_BE_SAVED; 29 manage_passwords_bubble_state_ = PASSWORD_TO_BE_SAVED;
30 pending_credentials_ = 30 pending_credentials_ =
31 manage_passwords_bubble_ui_controller->PendingCredentials(); 31 manage_passwords_bubble_ui_controller->PendingCredentials();
32 } else if (manage_passwords_bubble_ui_controller->autofill_blocked()) {
33 manage_passwords_bubble_state_ = NEVER_SAVE_PASSWORDS;
32 } else { 34 } else {
33 manage_passwords_bubble_state_ = MANAGE_PASSWORDS; 35 manage_passwords_bubble_state_ = MANAGE_PASSWORDS;
34 } 36 }
35 37
36 title_ = l10n_util::GetStringUTF16( 38 title_ = l10n_util::GetStringUTF16(
37 (manage_passwords_bubble_state_ == PASSWORD_TO_BE_SAVED) ? 39 (manage_passwords_bubble_state_ == PASSWORD_TO_BE_SAVED) ?
38 IDS_SAVE_PASSWORD : IDS_MANAGE_PASSWORDS); 40 IDS_SAVE_PASSWORD : IDS_MANAGE_PASSWORDS);
39 best_matches_ = manage_passwords_bubble_ui_controller->best_matches(); 41 best_matches_ = manage_passwords_bubble_ui_controller->best_matches();
40 manage_link_ = 42 manage_link_ =
41 l10n_util::GetStringUTF16(IDS_OPTIONS_PASSWORDS_MANAGE_PASSWORDS_LINK); 43 l10n_util::GetStringUTF16(IDS_OPTIONS_PASSWORDS_MANAGE_PASSWORDS_LINK);
42 } 44 }
43 45
44 ManagePasswordsBubbleModel::~ManagePasswordsBubbleModel() {} 46 ManagePasswordsBubbleModel::~ManagePasswordsBubbleModel() {}
45 47
46 void ManagePasswordsBubbleModel::OnBubbleShown( 48 void ManagePasswordsBubbleModel::OnBubbleShown(
47 ManagePasswordsBubble::DisplayReason reason) { 49 ManagePasswordsBubble::DisplayReason reason) {
48 DCHECK(WaitingToSavePassword() ||
49 reason == ManagePasswordsBubble::USER_ACTION);
50 if (reason == ManagePasswordsBubble::USER_ACTION) { 50 if (reason == ManagePasswordsBubble::USER_ACTION) {
51 if (WaitingToSavePassword()) { 51 if (WaitingToSavePassword()) {
52 display_disposition_ = 52 display_disposition_ =
53 password_manager::metrics_util::MANUAL_WITH_PASSWORD_PENDING; 53 password_manager::metrics_util::MANUAL_WITH_PASSWORD_PENDING;
54 } else if (NeverSavingPasswords()) {
55 display_disposition_ = password_manager::metrics_util::MANUAL_BLACKLISTED;
54 } else { 56 } else {
55 // TODO(mkwst): Deal with "Never save passwords" once we've decided how
56 // that flow should work.
57 display_disposition_ = 57 display_disposition_ =
58 password_manager::metrics_util::MANUAL_MANAGE_PASSWORDS; 58 password_manager::metrics_util::MANUAL_MANAGE_PASSWORDS;
59 } 59 }
60 } else { 60 } else {
61 DCHECK(WaitingToSavePassword());
61 display_disposition_ = 62 display_disposition_ =
62 password_manager::metrics_util::AUTOMATIC_WITH_PASSWORD_PENDING; 63 password_manager::metrics_util::AUTOMATIC_WITH_PASSWORD_PENDING;
63 } 64 }
64 password_manager::metrics_util::LogUIDisplayDisposition(display_disposition_); 65 password_manager::metrics_util::LogUIDisplayDisposition(display_disposition_);
65 66
66 // Default to a dismissal reason of "no interaction". If the user interacts 67 // Default to a dismissal reason of "no interaction". If the user interacts
67 // with the button in such a way that it closes, we'll reset this value 68 // with the button in such a way that it closes, we'll reset this value
68 // accordingly. 69 // accordingly.
69 dismissal_reason_ = password_manager::metrics_util::NO_DIRECT_INTERACTION; 70 dismissal_reason_ = password_manager::metrics_util::NO_DIRECT_INTERACTION;
70 } 71 }
(...skipping 16 matching lines...) Expand all
87 88
88 void ManagePasswordsBubbleModel::OnNeverForThisSiteClicked() { 89 void ManagePasswordsBubbleModel::OnNeverForThisSiteClicked() {
89 dismissal_reason_ = password_manager::metrics_util::CLICKED_NEVER; 90 dismissal_reason_ = password_manager::metrics_util::CLICKED_NEVER;
90 ManagePasswordsBubbleUIController* manage_passwords_bubble_ui_controller = 91 ManagePasswordsBubbleUIController* manage_passwords_bubble_ui_controller =
91 ManagePasswordsBubbleUIController::FromWebContents(web_contents_); 92 ManagePasswordsBubbleUIController::FromWebContents(web_contents_);
92 manage_passwords_bubble_ui_controller->NeverSavePassword(); 93 manage_passwords_bubble_ui_controller->NeverSavePassword();
93 manage_passwords_bubble_ui_controller->unset_password_to_be_saved(); 94 manage_passwords_bubble_ui_controller->unset_password_to_be_saved();
94 manage_passwords_bubble_state_ = NEVER_SAVE_PASSWORDS; 95 manage_passwords_bubble_state_ = NEVER_SAVE_PASSWORDS;
95 } 96 }
96 97
98 void ManagePasswordsBubbleModel::OnUnblacklistClicked() {
99 dismissal_reason_ = password_manager::metrics_util::CLICKED_UNBLACKLIST;
100 ManagePasswordsBubbleUIController* manage_passwords_bubble_ui_controller =
101 ManagePasswordsBubbleUIController::FromWebContents(web_contents_);
102 manage_passwords_bubble_ui_controller->UnblacklistSite();
103 manage_passwords_bubble_state_ = MANAGE_PASSWORDS;
104 }
105
97 void ManagePasswordsBubbleModel::OnSaveClicked() { 106 void ManagePasswordsBubbleModel::OnSaveClicked() {
98 dismissal_reason_ = password_manager::metrics_util::CLICKED_SAVE; 107 dismissal_reason_ = password_manager::metrics_util::CLICKED_SAVE;
99 ManagePasswordsBubbleUIController* manage_passwords_bubble_ui_controller = 108 ManagePasswordsBubbleUIController* manage_passwords_bubble_ui_controller =
100 ManagePasswordsBubbleUIController::FromWebContents(web_contents_); 109 ManagePasswordsBubbleUIController::FromWebContents(web_contents_);
101 manage_passwords_bubble_ui_controller->SavePassword(); 110 manage_passwords_bubble_ui_controller->SavePassword();
102 manage_passwords_bubble_ui_controller->unset_password_to_be_saved(); 111 manage_passwords_bubble_ui_controller->unset_password_to_be_saved();
103 manage_passwords_bubble_state_ = MANAGE_PASSWORDS; 112 manage_passwords_bubble_state_ = MANAGE_PASSWORDS;
104 } 113 }
105 114
106 void ManagePasswordsBubbleModel::OnDoneClicked() { 115 void ManagePasswordsBubbleModel::OnDoneClicked() {
(...skipping 21 matching lines...) Expand all
128 password_store->RemoveLogin(password_form); 137 password_store->RemoveLogin(password_form);
129 else 138 else
130 password_store->AddLogin(password_form); 139 password_store->AddLogin(password_form);
131 } 140 }
132 141
133 void ManagePasswordsBubbleModel::WebContentsDestroyed( 142 void ManagePasswordsBubbleModel::WebContentsDestroyed(
134 content::WebContents* web_contents) { 143 content::WebContents* web_contents) {
135 // The WebContents have been destroyed. 144 // The WebContents have been destroyed.
136 web_contents_ = NULL; 145 web_contents_ = NULL;
137 } 146 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698