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

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

Issue 232753002: Password bubble: Deplatformify ManagePasswordsBubbleView. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 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/chrome_pages.h" 10 #include "chrome/browser/ui/chrome_pages.h"
11 #include "chrome/browser/ui/passwords/manage_passwords_bubble_ui_controller.h" 11 #include "chrome/browser/ui/passwords/manage_passwords_bubble_ui_controller.h"
12 #include "chrome/common/url_constants.h" 12 #include "chrome/common/url_constants.h"
13 #include "components/password_manager/core/browser/password_store.h" 13 #include "components/password_manager/core/browser/password_store.h"
14 #include "grit/generated_resources.h" 14 #include "grit/generated_resources.h"
15 #include "ui/base/l10n/l10n_util.h" 15 #include "ui/base/l10n/l10n_util.h"
16 16
17 using content::WebContents; 17 using content::WebContents;
18 using autofill::PasswordFormMap; 18 using autofill::PasswordFormMap;
19 19
20 ManagePasswordsBubbleModel::ManagePasswordsBubbleModel( 20 ManagePasswordsBubbleModel::ManagePasswordsBubbleModel(
21 content::WebContents* web_contents) 21 content::WebContents* web_contents)
22 : content::WebContentsObserver(web_contents), 22 : content::WebContentsObserver(web_contents),
23 web_contents_(web_contents) { 23 web_contents_(web_contents),
24 display_disposition_(
25 password_manager::metrics_util::AUTOMATIC_WITH_PASSWORD_PENDING),
26 dismissal_reason_(password_manager::metrics_util::NOT_DISPLAYED) {
24 ManagePasswordsBubbleUIController* manage_passwords_bubble_ui_controller = 27 ManagePasswordsBubbleUIController* manage_passwords_bubble_ui_controller =
25 ManagePasswordsBubbleUIController::FromWebContents(web_contents_); 28 ManagePasswordsBubbleUIController::FromWebContents(web_contents_);
26 29
27 password_submitted_ = 30 password_submitted_ =
28 manage_passwords_bubble_ui_controller->password_submitted(); 31 manage_passwords_bubble_ui_controller->password_submitted();
29 if (password_submitted_) { 32 if (password_submitted_) {
30 if (manage_passwords_bubble_ui_controller->password_to_be_saved()) 33 if (manage_passwords_bubble_ui_controller->password_to_be_saved())
31 manage_passwords_bubble_state_ = PASSWORD_TO_BE_SAVED; 34 manage_passwords_bubble_state_ = PASSWORD_TO_BE_SAVED;
32 else 35 else
33 manage_passwords_bubble_state_ = MANAGE_PASSWORDS_AFTER_SAVING; 36 manage_passwords_bubble_state_ = MANAGE_PASSWORDS_AFTER_SAVING;
34 } else { 37 } else {
35 manage_passwords_bubble_state_ = MANAGE_PASSWORDS; 38 manage_passwords_bubble_state_ = MANAGE_PASSWORDS;
36 } 39 }
37 40
38 title_ = l10n_util::GetStringUTF16( 41 title_ = l10n_util::GetStringUTF16(
39 (manage_passwords_bubble_state_ == PASSWORD_TO_BE_SAVED) ? 42 (manage_passwords_bubble_state_ == PASSWORD_TO_BE_SAVED) ?
40 IDS_SAVE_PASSWORD : IDS_MANAGE_PASSWORDS); 43 IDS_SAVE_PASSWORD : IDS_MANAGE_PASSWORDS);
41 if (password_submitted_) { 44 if (password_submitted_) {
42 pending_credentials_ = 45 pending_credentials_ =
43 manage_passwords_bubble_ui_controller->pending_credentials(); 46 manage_passwords_bubble_ui_controller->pending_credentials();
44 } 47 }
45 best_matches_ = manage_passwords_bubble_ui_controller->best_matches(); 48 best_matches_ = manage_passwords_bubble_ui_controller->best_matches();
46 manage_link_ = 49 manage_link_ =
47 l10n_util::GetStringUTF16(IDS_OPTIONS_PASSWORDS_MANAGE_PASSWORDS_LINK); 50 l10n_util::GetStringUTF16(IDS_OPTIONS_PASSWORDS_MANAGE_PASSWORDS_LINK);
48 } 51 }
49 52
50 ManagePasswordsBubbleModel::~ManagePasswordsBubbleModel() {} 53 ManagePasswordsBubbleModel::~ManagePasswordsBubbleModel() {}
51 54
55 void ManagePasswordsBubbleModel::OnBubbleShown(
56 ManagePasswordsBubble::DisplayReason reason) {
57 DCHECK(WaitingToSavePassword() ||
58 reason == ManagePasswordsBubble::USER_ACTION);
59 if (reason == ManagePasswordsBubble::USER_ACTION) {
60 if (WaitingToSavePassword()) {
61 set_display_disposition(
62 password_manager::metrics_util::MANUAL_WITH_PASSWORD_PENDING);
63 } else {
64 // TODO(mkwst): Deal with "Never save passwords" once we've decided how
65 // that flow should work.
66 set_display_disposition(
67 password_manager::metrics_util::MANUAL_MANAGE_PASSWORDS);
68 }
69 } else {
70 set_display_disposition(
71 password_manager::metrics_util::AUTOMATIC_WITH_PASSWORD_PENDING);
72 }
73 password_manager::metrics_util::LogUIDisplayDisposition(
74 display_disposition());
75
76 // Default to a dismissal reason of "no interaction". If the user interacts
77 // with the button in such a way that it closes, we'll reset this value
78 // accordingly.
79 set_dismissal_reason(password_manager::metrics_util::NO_DIRECT_INTERACTION);
80 }
81
82 void ManagePasswordsBubbleModel::OnBubbleHidden() {
83 if (dismissal_reason() == password_manager::metrics_util::NOT_DISPLAYED)
84 return;
85
86 password_manager::metrics_util::LogUIDismissalReason(dismissal_reason());
87 }
88
89 void ManagePasswordsBubbleModel::OnCloseWithoutLogging() {
90 set_dismissal_reason(password_manager::metrics_util::NOT_DISPLAYED);
91 }
92
52 void ManagePasswordsBubbleModel::OnNopeClicked() { 93 void ManagePasswordsBubbleModel::OnNopeClicked() {
94 set_dismissal_reason(password_manager::metrics_util::CLICKED_NOPE);
53 manage_passwords_bubble_state_ = PASSWORD_TO_BE_SAVED; 95 manage_passwords_bubble_state_ = PASSWORD_TO_BE_SAVED;
54 } 96 }
55 97
56 void ManagePasswordsBubbleModel::OnNeverForThisSiteClicked() { 98 void ManagePasswordsBubbleModel::OnNeverForThisSiteClicked() {
99 set_dismissal_reason(password_manager::metrics_util::CLICKED_NEVER);
57 ManagePasswordsBubbleUIController* manage_passwords_bubble_ui_controller = 100 ManagePasswordsBubbleUIController* manage_passwords_bubble_ui_controller =
58 ManagePasswordsBubbleUIController::FromWebContents(web_contents_); 101 ManagePasswordsBubbleUIController::FromWebContents(web_contents_);
59 manage_passwords_bubble_ui_controller->NeverSavePassword(); 102 manage_passwords_bubble_ui_controller->NeverSavePassword();
60 manage_passwords_bubble_ui_controller->unset_password_to_be_saved(); 103 manage_passwords_bubble_ui_controller->unset_password_to_be_saved();
61 manage_passwords_bubble_state_ = NEVER_SAVE_PASSWORDS; 104 manage_passwords_bubble_state_ = NEVER_SAVE_PASSWORDS;
62 } 105 }
63 106
64 void ManagePasswordsBubbleModel::OnSaveClicked() { 107 void ManagePasswordsBubbleModel::OnSaveClicked() {
108 set_dismissal_reason(password_manager::metrics_util::CLICKED_SAVE);
65 ManagePasswordsBubbleUIController* manage_passwords_bubble_ui_controller = 109 ManagePasswordsBubbleUIController* manage_passwords_bubble_ui_controller =
66 ManagePasswordsBubbleUIController::FromWebContents(web_contents_); 110 ManagePasswordsBubbleUIController::FromWebContents(web_contents_);
67 manage_passwords_bubble_ui_controller->SavePassword(); 111 manage_passwords_bubble_ui_controller->SavePassword();
68 manage_passwords_bubble_ui_controller->unset_password_to_be_saved(); 112 manage_passwords_bubble_ui_controller->unset_password_to_be_saved();
69 manage_passwords_bubble_state_ = MANAGE_PASSWORDS_AFTER_SAVING; 113 manage_passwords_bubble_state_ = MANAGE_PASSWORDS_AFTER_SAVING;
70 } 114 }
71 115
116 void ManagePasswordsBubbleModel::OnDoneClicked() {
117 set_dismissal_reason(password_manager::metrics_util::CLICKED_DONE);
118 }
119
72 void ManagePasswordsBubbleModel::OnManageLinkClicked() { 120 void ManagePasswordsBubbleModel::OnManageLinkClicked() {
121 set_dismissal_reason(password_manager::metrics_util::CLICKED_MANAGE);
73 chrome::ShowSettingsSubPage(chrome::FindBrowserWithWebContents(web_contents_), 122 chrome::ShowSettingsSubPage(chrome::FindBrowserWithWebContents(web_contents_),
74 chrome::kPasswordManagerSubPage); 123 chrome::kPasswordManagerSubPage);
75 } 124 }
76 125
77 void ManagePasswordsBubbleModel::OnPasswordAction( 126 void ManagePasswordsBubbleModel::OnPasswordAction(
78 const autofill::PasswordForm& password_form, 127 const autofill::PasswordForm& password_form,
79 PasswordAction action) { 128 PasswordAction action) {
80 if (!web_contents_) 129 if (!web_contents_)
81 return; 130 return;
82 Profile* profile = 131 Profile* profile =
(...skipping 18 matching lines...) Expand all
101 autofill::PasswordForm password_form) { 150 autofill::PasswordForm password_form) {
102 ManagePasswordsBubbleUIController::FromWebContents(web_contents_)-> 151 ManagePasswordsBubbleUIController::FromWebContents(web_contents_)->
103 RemoveFromBestMatches(password_form); 152 RemoveFromBestMatches(password_form);
104 } 153 }
105 154
106 void ManagePasswordsBubbleModel::WebContentsDestroyed( 155 void ManagePasswordsBubbleModel::WebContentsDestroyed(
107 content::WebContents* web_contents) { 156 content::WebContents* web_contents) {
108 // The WebContents have been destroyed. 157 // The WebContents have been destroyed.
109 web_contents_ = NULL; 158 web_contents_ = NULL;
110 } 159 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698