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

Unified 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 side-by-side diff with in-line comments
Download patch
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 16c4cf2e5c3d211c5583cb4b13e80b653dbf79fb..ffcafa686c88a0b723c0d4e7ad86c0d3384dd087 100644
--- a/chrome/browser/ui/passwords/manage_passwords_bubble_model.cc
+++ b/chrome/browser/ui/passwords/manage_passwords_bubble_model.cc
@@ -20,7 +20,10 @@ using autofill::PasswordFormMap;
ManagePasswordsBubbleModel::ManagePasswordsBubbleModel(
content::WebContents* web_contents)
: content::WebContentsObserver(web_contents),
- web_contents_(web_contents) {
+ web_contents_(web_contents),
+ display_disposition_(
+ password_manager::metrics_util::AUTOMATIC_WITH_PASSWORD_PENDING),
+ dismissal_reason_(password_manager::metrics_util::NOT_DISPLAYED) {
ManagePasswordsBubbleUIController* manage_passwords_bubble_ui_controller =
ManagePasswordsBubbleUIController::FromWebContents(web_contents_);
@@ -49,11 +52,51 @@ ManagePasswordsBubbleModel::ManagePasswordsBubbleModel(
ManagePasswordsBubbleModel::~ManagePasswordsBubbleModel() {}
+void ManagePasswordsBubbleModel::OnBubbleShown(
+ ManagePasswordsBubble::DisplayReason reason) {
+ DCHECK(WaitingToSavePassword() ||
+ reason == ManagePasswordsBubble::USER_ACTION);
+ if (reason == ManagePasswordsBubble::USER_ACTION) {
+ if (WaitingToSavePassword()) {
+ set_display_disposition(
+ password_manager::metrics_util::MANUAL_WITH_PASSWORD_PENDING);
+ } else {
+ // TODO(mkwst): Deal with "Never save passwords" once we've decided how
+ // that flow should work.
+ set_display_disposition(
+ password_manager::metrics_util::MANUAL_MANAGE_PASSWORDS);
+ }
+ } else {
+ set_display_disposition(
+ password_manager::metrics_util::AUTOMATIC_WITH_PASSWORD_PENDING);
+ }
+ password_manager::metrics_util::LogUIDisplayDisposition(
+ display_disposition());
+
+ // Default to a dismissal reason of "no interaction". If the user interacts
+ // with the button in such a way that it closes, we'll reset this value
+ // accordingly.
+ set_dismissal_reason(password_manager::metrics_util::NO_DIRECT_INTERACTION);
+}
+
+void ManagePasswordsBubbleModel::OnBubbleHidden() {
+ if (dismissal_reason() == password_manager::metrics_util::NOT_DISPLAYED)
+ return;
+
+ password_manager::metrics_util::LogUIDismissalReason(dismissal_reason());
+}
+
+void ManagePasswordsBubbleModel::OnCloseWithoutLogging() {
+ set_dismissal_reason(password_manager::metrics_util::NOT_DISPLAYED);
+}
+
void ManagePasswordsBubbleModel::OnNopeClicked() {
+ set_dismissal_reason(password_manager::metrics_util::CLICKED_NOPE);
manage_passwords_bubble_state_ = PASSWORD_TO_BE_SAVED;
}
void ManagePasswordsBubbleModel::OnNeverForThisSiteClicked() {
+ set_dismissal_reason(password_manager::metrics_util::CLICKED_NEVER);
ManagePasswordsBubbleUIController* manage_passwords_bubble_ui_controller =
ManagePasswordsBubbleUIController::FromWebContents(web_contents_);
manage_passwords_bubble_ui_controller->NeverSavePassword();
@@ -62,6 +105,7 @@ void ManagePasswordsBubbleModel::OnNeverForThisSiteClicked() {
}
void ManagePasswordsBubbleModel::OnSaveClicked() {
+ set_dismissal_reason(password_manager::metrics_util::CLICKED_SAVE);
ManagePasswordsBubbleUIController* manage_passwords_bubble_ui_controller =
ManagePasswordsBubbleUIController::FromWebContents(web_contents_);
manage_passwords_bubble_ui_controller->SavePassword();
@@ -69,7 +113,12 @@ void ManagePasswordsBubbleModel::OnSaveClicked() {
manage_passwords_bubble_state_ = MANAGE_PASSWORDS_AFTER_SAVING;
}
+void ManagePasswordsBubbleModel::OnDoneClicked() {
+ set_dismissal_reason(password_manager::metrics_util::CLICKED_DONE);
+}
+
void ManagePasswordsBubbleModel::OnManageLinkClicked() {
+ set_dismissal_reason(password_manager::metrics_util::CLICKED_MANAGE);
chrome::ShowSettingsSubPage(chrome::FindBrowserWithWebContents(web_contents_),
chrome::kPasswordManagerSubPage);
}

Powered by Google App Engine
This is Rietveld 408576698