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

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

Issue 2012723002: Add separate UMA histograms for the account chooser with 1/many accounts. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2743
Patch Set: Created 4 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
« no previous file with comments | « no previous file | chrome/browser/ui/passwords/password_dialog_controller_impl_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/password_dialog_controller_impl.h" 5 #include "chrome/browser/ui/passwords/password_dialog_controller_impl.h"
6 6
7 #include "chrome/browser/profiles/profile.h" 7 #include "chrome/browser/profiles/profile.h"
8 #include "chrome/browser/sync/profile_sync_service_factory.h" 8 #include "chrome/browser/sync/profile_sync_service_factory.h"
9 #include "chrome/browser/ui/passwords/manage_passwords_view_utils.h" 9 #include "chrome/browser/ui/passwords/manage_passwords_view_utils.h"
10 #include "chrome/browser/ui/passwords/password_dialog_prompts.h" 10 #include "chrome/browser/ui/passwords/password_dialog_prompts.h"
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 return result; 105 return result;
106 } 106 }
107 107
108 void PasswordDialogControllerImpl::OnSmartLockLinkClicked() { 108 void PasswordDialogControllerImpl::OnSmartLockLinkClicked() {
109 delegate_->NavigateToSmartLockHelpPage(); 109 delegate_->NavigateToSmartLockHelpPage();
110 } 110 }
111 111
112 void PasswordDialogControllerImpl::OnChooseCredentials( 112 void PasswordDialogControllerImpl::OnChooseCredentials(
113 const autofill::PasswordForm& password_form, 113 const autofill::PasswordForm& password_form,
114 password_manager::CredentialType credential_type) { 114 password_manager::CredentialType credential_type) {
115 password_manager::metrics_util::LogAccountChooserUserAction( 115 if (local_credentials_.size() == 1) {
116 password_manager::metrics_util::ACCOUNT_CHOOSER_CREDENTIAL_CHOSEN); 116 password_manager::metrics_util::LogAccountChooserUserActionOneAccount(
117 password_manager::metrics_util::ACCOUNT_CHOOSER_CREDENTIAL_CHOSEN);
118 } else {
119 password_manager::metrics_util::LogAccountChooserUserActionManyAccounts(
120 password_manager::metrics_util::ACCOUNT_CHOOSER_CREDENTIAL_CHOSEN);
121 }
117 ResetDialog(); 122 ResetDialog();
118 delegate_->ChooseCredential(password_form, credential_type); 123 delegate_->ChooseCredential(password_form, credential_type);
119 } 124 }
120 125
121 void PasswordDialogControllerImpl::OnSignInClicked() { 126 void PasswordDialogControllerImpl::OnSignInClicked() {
122 DCHECK_EQ(1u, local_credentials_.size()); 127 DCHECK_EQ(1u, local_credentials_.size());
123 password_manager::metrics_util::LogAccountChooserUserAction( 128 password_manager::metrics_util::LogAccountChooserUserActionOneAccount(
124 password_manager::metrics_util::ACCOUNT_CHOOSER_SIGN_IN); 129 password_manager::metrics_util::ACCOUNT_CHOOSER_SIGN_IN);
125 ResetDialog(); 130 ResetDialog();
126 delegate_->ChooseCredential( 131 delegate_->ChooseCredential(
127 *local_credentials_[0], 132 *local_credentials_[0],
128 password_manager::CredentialType::CREDENTIAL_TYPE_PASSWORD); 133 password_manager::CredentialType::CREDENTIAL_TYPE_PASSWORD);
129 } 134 }
130 135
131 void PasswordDialogControllerImpl::OnAutoSigninOK() { 136 void PasswordDialogControllerImpl::OnAutoSigninOK() {
132 password_bubble_experiment::RecordAutoSignInPromptFirstRunExperienceWasShown( 137 password_bubble_experiment::RecordAutoSignInPromptFirstRunExperienceWasShown(
133 profile_->GetPrefs()); 138 profile_->GetPrefs());
134 password_manager::metrics_util::LogAutoSigninPromoUserAction( 139 password_manager::metrics_util::LogAutoSigninPromoUserAction(
135 password_manager::metrics_util::AUTO_SIGNIN_OK_GOT_IT); 140 password_manager::metrics_util::AUTO_SIGNIN_OK_GOT_IT);
136 ResetDialog(); 141 ResetDialog();
137 OnCloseDialog(); 142 OnCloseDialog();
138 } 143 }
139 144
140 void PasswordDialogControllerImpl::OnAutoSigninTurnOff() { 145 void PasswordDialogControllerImpl::OnAutoSigninTurnOff() {
141 profile_->GetPrefs()->SetBoolean( 146 profile_->GetPrefs()->SetBoolean(
142 password_manager::prefs::kCredentialsEnableAutosignin, false); 147 password_manager::prefs::kCredentialsEnableAutosignin, false);
143 password_bubble_experiment::RecordAutoSignInPromptFirstRunExperienceWasShown( 148 password_bubble_experiment::RecordAutoSignInPromptFirstRunExperienceWasShown(
144 profile_->GetPrefs()); 149 profile_->GetPrefs());
145 password_manager::metrics_util::LogAutoSigninPromoUserAction( 150 password_manager::metrics_util::LogAutoSigninPromoUserAction(
146 password_manager::metrics_util::AUTO_SIGNIN_TURN_OFF); 151 password_manager::metrics_util::AUTO_SIGNIN_TURN_OFF);
147 ResetDialog(); 152 ResetDialog();
148 OnCloseDialog(); 153 OnCloseDialog();
149 } 154 }
150 155
151 void PasswordDialogControllerImpl::OnCloseDialog() { 156 void PasswordDialogControllerImpl::OnCloseDialog() {
152 if (account_chooser_dialog_) { 157 if (account_chooser_dialog_) {
153 password_manager::metrics_util::LogAccountChooserUserAction( 158 if (local_credentials_.size() == 1) {
154 password_manager::metrics_util::ACCOUNT_CHOOSER_DISMISSED); 159 password_manager::metrics_util::LogAccountChooserUserActionOneAccount(
160 password_manager::metrics_util::ACCOUNT_CHOOSER_DISMISSED);
161 } else {
162 password_manager::metrics_util::LogAccountChooserUserActionManyAccounts(
163 password_manager::metrics_util::ACCOUNT_CHOOSER_DISMISSED);
164 }
155 account_chooser_dialog_ = nullptr; 165 account_chooser_dialog_ = nullptr;
156 } 166 }
157 if (autosignin_dialog_) { 167 if (autosignin_dialog_) {
158 password_manager::metrics_util::LogAutoSigninPromoUserAction( 168 password_manager::metrics_util::LogAutoSigninPromoUserAction(
159 password_manager::metrics_util::AUTO_SIGNIN_NO_ACTION); 169 password_manager::metrics_util::AUTO_SIGNIN_NO_ACTION);
160 autosignin_dialog_ = nullptr; 170 autosignin_dialog_ = nullptr;
161 } 171 }
162 delegate_->OnDialogHidden(); 172 delegate_->OnDialogHidden();
163 } 173 }
164 174
165 void PasswordDialogControllerImpl::ResetDialog() { 175 void PasswordDialogControllerImpl::ResetDialog() {
166 if (account_chooser_dialog_) { 176 if (account_chooser_dialog_) {
167 account_chooser_dialog_->ControllerGone(); 177 account_chooser_dialog_->ControllerGone();
168 account_chooser_dialog_ = nullptr; 178 account_chooser_dialog_ = nullptr;
169 } 179 }
170 if (autosignin_dialog_) { 180 if (autosignin_dialog_) {
171 autosignin_dialog_->ControllerGone(); 181 autosignin_dialog_->ControllerGone();
172 autosignin_dialog_ = nullptr; 182 autosignin_dialog_ = nullptr;
173 } 183 }
174 } 184 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/passwords/password_dialog_controller_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698