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

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

Issue 765073004: Adding skeleton code for showing Bubble, asking user to submit URL when Password Manager fails (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years 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
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_ui_controller.h" 10 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller.h"
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 47
48 ManagePasswordsBubbleModel::ManagePasswordsBubbleModel( 48 ManagePasswordsBubbleModel::ManagePasswordsBubbleModel(
49 content::WebContents* web_contents) 49 content::WebContents* web_contents)
50 : content::WebContentsObserver(web_contents), 50 : content::WebContentsObserver(web_contents),
51 display_disposition_( 51 display_disposition_(
52 metrics_util::AUTOMATIC_WITH_PASSWORD_PENDING), 52 metrics_util::AUTOMATIC_WITH_PASSWORD_PENDING),
53 dismissal_reason_(metrics_util::NOT_DISPLAYED) { 53 dismissal_reason_(metrics_util::NOT_DISPLAYED) {
54 ManagePasswordsUIController* controller = 54 ManagePasswordsUIController* controller =
55 ManagePasswordsUIController::FromWebContents(web_contents); 55 ManagePasswordsUIController::FromWebContents(web_contents);
56 56
57 origin_ = controller->origin();
57 state_ = controller->state(); 58 state_ = controller->state();
58 if (password_manager::ui::IsPendingState(state_)) 59 if (password_manager::ui::IsPendingState(state_))
59 pending_password_ = controller->PendingPassword(); 60 pending_password_ = controller->PendingPassword();
60 if (password_manager::ui::IsCredentialsState(state_)) 61 if (password_manager::ui::IsCredentialsState(state_))
61 pending_credentials_.swap(controller->new_password_forms()); 62 pending_credentials_.swap(controller->new_password_forms());
62 else 63 else
63 best_matches_ = controller->best_matches(); 64 best_matches_ = controller->best_matches();
64 65
65 if (password_manager::ui::IsPendingState(state_)) { 66 if (password_manager::ui::IsPendingState(state_)) {
66 title_ = l10n_util::GetStringUTF16(IDS_SAVE_PASSWORD); 67 title_ = l10n_util::GetStringUTF16(IDS_SAVE_PASSWORD);
67 } else if (state_ == password_manager::ui::BLACKLIST_STATE) { 68 } else if (state_ == password_manager::ui::BLACKLIST_STATE) {
68 title_ = l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_BLACKLISTED_TITLE); 69 title_ = l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_BLACKLISTED_TITLE);
69 } else if (state_ == password_manager::ui::CONFIRMATION_STATE) { 70 } else if (state_ == password_manager::ui::CONFIRMATION_STATE) {
70 title_ = 71 title_ =
71 l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_CONFIRM_GENERATED_TITLE); 72 l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_CONFIRM_GENERATED_TITLE);
72 } else if (password_manager::ui::IsCredentialsState(state_)) { 73 } else if (password_manager::ui::IsCredentialsState(state_)) {
73 title_ = l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_CHOOSE_TITLE); 74 title_ = l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_CHOOSE_TITLE);
75 } else if (state_ == password_manager::ui::ASK_USER_TO_REPORT_URL_STATE) {
76 title_ =
77 l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_ASK_TO_SUBMIT_URL_TITLE);
74 } else { 78 } else {
75 title_ = l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_TITLE); 79 title_ = l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_TITLE);
76 } 80 }
77 81
78 base::string16 save_confirmation_link = 82 base::string16 save_confirmation_link =
79 l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_CONFIRM_GENERATED_LINK); 83 l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_CONFIRM_GENERATED_LINK);
80 size_t offset; 84 size_t offset;
81 save_confirmation_text_ = 85 save_confirmation_text_ =
82 l10n_util::GetStringFUTF16(IDS_MANAGE_PASSWORDS_CONFIRM_GENERATED_TEXT, 86 l10n_util::GetStringFUTF16(IDS_MANAGE_PASSWORDS_CONFIRM_GENERATED_TEXT,
83 save_confirmation_link, &offset); 87 save_confirmation_link, &offset);
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 } 138 }
135 if (dismissal_reason_ == metrics_util::NOT_DISPLAYED) 139 if (dismissal_reason_ == metrics_util::NOT_DISPLAYED)
136 return; 140 return;
137 141
138 metrics_util::LogUIDismissalReason(dismissal_reason_); 142 metrics_util::LogUIDismissalReason(dismissal_reason_);
139 // Other use cases have been reported in the callbacks like OnSaveClicked(). 143 // Other use cases have been reported in the callbacks like OnSaveClicked().
140 if (dismissal_reason_ == metrics_util::NO_DIRECT_INTERACTION) 144 if (dismissal_reason_ == metrics_util::NO_DIRECT_INTERACTION)
141 RecordExperimentStatistics(web_contents(), dismissal_reason_); 145 RecordExperimentStatistics(web_contents(), dismissal_reason_);
142 } 146 }
143 147
148 void ManagePasswordsBubbleModel::OnCollectURLClicked() {
149 dismissal_reason_ = metrics_util::CLICKED_COLLECT_URL;
150 RecordExperimentStatistics(web_contents(), dismissal_reason_);
151 // TODO(melandory): Implement feedback sending logic.
152 }
153
154 void ManagePasswordsBubbleModel::OnDoNotCollectURLClicked() {
155 dismissal_reason_ = metrics_util::CLICKED_DO_NOT_COLLECT_URL;
156 RecordExperimentStatistics(web_contents(), dismissal_reason_);
157 }
158
144 void ManagePasswordsBubbleModel::OnNopeClicked() { 159 void ManagePasswordsBubbleModel::OnNopeClicked() {
145 dismissal_reason_ = metrics_util::CLICKED_NOPE; 160 dismissal_reason_ = metrics_util::CLICKED_NOPE;
146 RecordExperimentStatistics(web_contents(), dismissal_reason_); 161 RecordExperimentStatistics(web_contents(), dismissal_reason_);
147 if (!password_manager::ui::IsCredentialsState(state_)) 162 if (!password_manager::ui::IsCredentialsState(state_))
148 state_ = password_manager::ui::PENDING_PASSWORD_STATE; 163 state_ = password_manager::ui::PENDING_PASSWORD_STATE;
149 } 164 }
150 165
151 void ManagePasswordsBubbleModel::OnNeverForThisSiteClicked() { 166 void ManagePasswordsBubbleModel::OnNeverForThisSiteClicked() {
152 dismissal_reason_ = metrics_util::CLICKED_NEVER; 167 dismissal_reason_ = metrics_util::CLICKED_NEVER;
153 RecordExperimentStatistics(web_contents(), dismissal_reason_); 168 RecordExperimentStatistics(web_contents(), dismissal_reason_);
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 234
220 // static 235 // static
221 int ManagePasswordsBubbleModel::UsernameFieldWidth() { 236 int ManagePasswordsBubbleModel::UsernameFieldWidth() {
222 return GetFieldWidth(USERNAME_FIELD); 237 return GetFieldWidth(USERNAME_FIELD);
223 } 238 }
224 239
225 // static 240 // static
226 int ManagePasswordsBubbleModel::PasswordFieldWidth() { 241 int ManagePasswordsBubbleModel::PasswordFieldWidth() {
227 return GetFieldWidth(PASSWORD_FIELD); 242 return GetFieldWidth(PASSWORD_FIELD);
228 } 243 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698