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

Unified Diff: components/password_manager/core/browser/password_form_manager.cc

Issue 2912783002: Measure how often PSL and same-organization name credentials are suppressed. (Closed)
Patch Set: Addressed comments from kolos@. Created 3 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 side-by-side diff with in-line comments
Download patch
Index: components/password_manager/core/browser/password_form_manager.cc
diff --git a/components/password_manager/core/browser/password_form_manager.cc b/components/password_manager/core/browser/password_form_manager.cc
index ac89c994c062d981e95ae54fa617ee8b56f1052c..98100d29dd9e23c216cf0226dd1ac84c2dddbe5a 100644
--- a/components/password_manager/core/browser/password_form_manager.cc
+++ b/components/password_manager/core/browser/password_form_manager.cc
@@ -264,21 +264,7 @@ PasswordFormManager::~PasswordFormManager() {
GetActionsTaken(), kMaxNumActionsTaken);
}
- if (!observed_form_.origin.SchemeIsCryptographic()) {
- UMA_HISTOGRAM_BOOLEAN(
- "PasswordManager.QueryingSuppressedAccountsFinished",
- form_fetcher_->DidCompleteQueryingSuppressedHTTPSForms());
- if (form_fetcher_->DidCompleteQueryingSuppressedHTTPSForms()) {
- UMA_HISTOGRAM_ENUMERATION(
- "PasswordManager.SuppressedAccount.Generated.HTTPSNotHTTP",
- GetStatsForSuppressedHTTPSAccount(PasswordForm::TYPE_GENERATED),
- kMaxSuppressedAccountStats);
- UMA_HISTOGRAM_ENUMERATION(
- "PasswordManager.SuppressedAccount.Manual.HTTPSNotHTTP",
- GetStatsForSuppressedHTTPSAccount(PasswordForm::TYPE_MANUAL),
- kMaxSuppressedAccountStats);
- }
- }
+ RecordHistogramsOnSuppressedAccounts();
if (submit_result_ == kSubmitResultNotSubmitted) {
if (has_generated_password_)
@@ -305,14 +291,14 @@ int PasswordFormManager::GetActionsTaken() const {
(manager_action_ + kManagerActionMax * submit_result_);
}
-int PasswordFormManager::GetStatsForSuppressedHTTPSAccount(
- PasswordForm::Type type) const {
- DCHECK(form_fetcher_->DidCompleteQueryingSuppressedHTTPSForms());
+int PasswordFormManager::GetHistogramSampleForSuppressedAccounts(
+ const std::vector<const autofill::PasswordForm*> suppressed_forms,
+ PasswordForm::Type manual_or_generated) const {
+ DCHECK(form_fetcher_->DidCompleteQueryingSuppressedForms());
SuppressedAccountExistence best_matching_account = kSuppressedAccountNone;
- for (const autofill::PasswordForm* form :
- form_fetcher_->GetSuppressedHTTPSForms()) {
- if (form->type != type)
+ for (const autofill::PasswordForm* form : suppressed_forms) {
+ if (form->type != manual_or_generated)
continue;
SuppressedAccountExistence current_account;
@@ -345,6 +331,55 @@ int PasswordFormManager::GetStatsForSuppressedHTTPSAccount(
return mixed_base_encoding;
}
+void PasswordFormManager::RecordHistogramsOnSuppressedAccounts() const {
+ UMA_HISTOGRAM_BOOLEAN("PasswordManager.QueryingSuppressedAccountsFinished",
+ form_fetcher_->DidCompleteQueryingSuppressedForms());
+
+ if (!form_fetcher_->DidCompleteQueryingSuppressedForms())
+ return;
+
+ if (!observed_form_.origin.SchemeIsCryptographic()) {
+ UMA_HISTOGRAM_ENUMERATION(
+ "PasswordManager.SuppressedAccount.Generated.HTTPSNotHTTP",
+ GetHistogramSampleForSuppressedAccounts(
+ form_fetcher_->GetSuppressedHTTPSForms(),
+ PasswordForm::TYPE_GENERATED),
+ kMaxSuppressedAccountStats);
+ UMA_HISTOGRAM_ENUMERATION(
+ "PasswordManager.SuppressedAccount.Manual.HTTPSNotHTTP",
+ GetHistogramSampleForSuppressedAccounts(
+ form_fetcher_->GetSuppressedHTTPSForms(),
+ PasswordForm::TYPE_MANUAL),
+ kMaxSuppressedAccountStats);
+ }
+
+ UMA_HISTOGRAM_ENUMERATION(
+ "PasswordManager.SuppressedAccount.Generated.PSLMatching",
dvadym 2017/05/30 14:17:00 What're the other reasons except http vs https whe
engedy 2017/05/30 14:21:25 That's a bit tricky. In these histograms, PSL matc
+ GetHistogramSampleForSuppressedAccounts(
+ form_fetcher_->GetSuppressedPSLMatchingForms(),
+ PasswordForm::TYPE_GENERATED),
+ kMaxSuppressedAccountStats);
+ UMA_HISTOGRAM_ENUMERATION(
+ "PasswordManager.SuppressedAccount.Manual.PSLMatching",
+ GetHistogramSampleForSuppressedAccounts(
+ form_fetcher_->GetSuppressedPSLMatchingForms(),
+ PasswordForm::TYPE_MANUAL),
+ kMaxSuppressedAccountStats);
+
+ UMA_HISTOGRAM_ENUMERATION(
+ "PasswordManager.SuppressedAccount.Generated.SameOrganizationName",
+ GetHistogramSampleForSuppressedAccounts(
+ form_fetcher_->GetSuppressedSameOrganizationNameForms(),
+ PasswordForm::TYPE_GENERATED),
+ kMaxSuppressedAccountStats);
+ UMA_HISTOGRAM_ENUMERATION(
+ "PasswordManager.SuppressedAccount.Manual.SameOrganizationName",
+ GetHistogramSampleForSuppressedAccounts(
+ form_fetcher_->GetSuppressedSameOrganizationNameForms(),
+ PasswordForm::TYPE_MANUAL),
+ kMaxSuppressedAccountStats);
+}
+
// static
base::string16 PasswordFormManager::PasswordToSave(const PasswordForm& form) {
if (form.new_password_element.empty() || form.new_password_value.empty())

Powered by Google App Engine
This is Rietveld 408576698