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

Unified Diff: chrome/browser/ui/passwords/manage_passwords_bubble_model.cc

Issue 2481453002: Add "PasswordManager.SignInPromoDismissalCount" histogram. (Closed)
Patch Set: Created 4 years, 1 month 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 5fd990e74cb4e13c306cc8af337a66862a2ea0d0..bfdeb0085961f31877ed86ee437b0c4239acfc1a 100644
--- a/chrome/browser/ui/passwords/manage_passwords_bubble_model.cc
+++ b/chrome/browser/ui/passwords/manage_passwords_bubble_model.cc
@@ -103,6 +103,10 @@ class ManagePasswordsBubbleModel::InteractionKeeper {
clock_ = std::move(clock);
}
+ void set_sign_in_promo_count(int count) {
+ sign_in_promo_count = count;
+ }
+
private:
// The way the bubble appeared.
const password_manager::metrics_util::UIDisplayDisposition
@@ -125,6 +129,9 @@ class ManagePasswordsBubbleModel::InteractionKeeper {
// Used to retrieve the current time, in base::Time units.
std::unique_ptr<base::Clock> clock_;
+ // Number of times the sign-in promo was shown to the user.
+ int sign_in_promo_count;
Ilya Sherman 2016/11/05 01:31:39 nit: I'd add "shown" before "count"
vasilii 2016/11/07 10:40:24 Done.
+
DISALLOW_COPY_AND_ASSIGN(InteractionKeeper);
};
@@ -136,7 +143,8 @@ ManagePasswordsBubbleModel::InteractionKeeper::InteractionKeeper(
update_password_submission_event_(metrics_util::NO_UPDATE_SUBMISSION),
sign_in_promo_dismissal_reason_(metrics_util::CHROME_SIGNIN_DISMISSED),
interaction_stats_(std::move(stats)),
- clock_(new base::DefaultClock) {}
+ clock_(new base::DefaultClock),
+ sign_in_promo_count(0) {}
void ManagePasswordsBubbleModel::InteractionKeeper::ReportInteractions(
const ManagePasswordsBubbleModel* model) {
@@ -170,11 +178,11 @@ void ManagePasswordsBubbleModel::InteractionKeeper::ReportInteractions(
password_manager::metrics_util::CHROME_SIGNIN_OK ||
sign_in_promo_dismissal_reason_ ==
password_manager::metrics_util::CHROME_SIGNIN_CANCEL) {
- DCHECK(model->delegate_);
- int show_count = model->GetProfile()->GetPrefs()->GetInteger(
- password_manager::prefs::kNumberSignInPasswordPromoShown);
UMA_HISTOGRAM_COUNTS_100("PasswordManager.SignInPromoCountTilClick",
- show_count);
+ sign_in_promo_count);
+ } else {
+ UMA_HISTOGRAM_COUNTS_100("PasswordManager.SignInPromoDismissalCount",
Ilya Sherman 2016/11/05 01:31:40 Does CHROME_SIGNIN_CANCEL not correspond to a dism
vasilii 2016/11/07 10:40:24 No. The request was to count implicit dismissals.
+ sign_in_promo_count);
}
} else if (model->state() !=
password_manager::ui::PENDING_PASSWORD_UPDATE_STATE) {
@@ -446,8 +454,10 @@ bool ManagePasswordsBubbleModel::ReplaceToShowSignInPromoIfNeeded() {
state_ = password_manager::ui::CHROME_SIGN_IN_PROMO_STATE;
int show_count = prefs->GetInteger(
password_manager::prefs::kNumberSignInPasswordPromoShown);
+ show_count++;
Ilya Sherman 2016/11/05 01:31:39 nit: Please use pre-increment.
vasilii 2016/11/07 10:40:24 Why?
Ilya Sherman 2016/11/07 19:43:20 Hmm, I think the style guide used to recommend pre
vabr (Chromium) 2016/11/08 08:36:33 The style guide still requires it for iterators, b
prefs->SetInteger(password_manager::prefs::kNumberSignInPasswordPromoShown,
- show_count + 1);
+ show_count);
+ interaction_keeper_->set_sign_in_promo_count(show_count);
Ilya Sherman 2016/11/05 01:31:39 What's the purpose of tracking this in two locatio
vasilii 2016/11/07 10:40:24 Because if one closes the tab then GetWebContents(
return true;
}
return false;

Powered by Google App Engine
This is Rietveld 408576698