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

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

Issue 355143006: [Password Manager] Add UMA stats to track interaction with synced accounts. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Typo Created 6 years, 5 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/login_database.cc
diff --git a/components/password_manager/core/browser/login_database.cc b/components/password_manager/core/browser/login_database.cc
index 55cc5eca78b2e59d4c9b4130cc78a5738d7cb001..6f1fc8bc2c0d6b4f81e7ed7c46331861c5c239c8 100644
--- a/components/password_manager/core/browser/login_database.cc
+++ b/components/password_manager/core/browser/login_database.cc
@@ -15,6 +15,8 @@
#include "base/strings/string_util.h"
#include "base/time/time.h"
#include "components/autofill/core/common/password_form.h"
+#include "google_apis/gaia/gaia_auth_util.h"
+#include "google_apis/gaia/gaia_urls.h"
#include "sql/connection.h"
#include "sql/statement.h"
#include "sql/transaction.h"
@@ -254,7 +256,7 @@ bool LoginDatabase::InitLoginsTable() {
return true;
}
-void LoginDatabase::ReportMetrics() {
+void LoginDatabase::ReportMetrics(const std::string& sync_username) {
sql::Statement s(db_.GetCachedStatement(
SQL_FROM_HERE,
"SELECT signon_realm, blacklisted_by_user, COUNT(username_value) "
@@ -302,6 +304,30 @@ void LoginDatabase::ReportMetrics() {
usage_statement.ColumnInt(1), 0, 100, 10);
}
}
+
+ bool syncing_account_saved = false;
+ if (!sync_username.empty()) {
+ sql::Statement sync_statement(db_.GetCachedStatement(
+ SQL_FROM_HERE,
+ "SELECT username_value FROM logins "
+ "WHERE signon_realm == ?"));
+ sync_statement.BindString(
+ 0, GaiaUrls::GetInstance()->gaia_url().GetOrigin().spec());
+
+ if (!sync_statement.is_valid())
+ return;
+
+ while (sync_statement.Step()) {
+ std::string username = sync_statement.ColumnString(0);
+ if (gaia::AreEmailsSame(sync_username, username)) {
+ syncing_account_saved = true;
+ break;
+ }
+ }
+ }
+ UMA_HISTOGRAM_ENUMERATION("PasswordManager.SyncingAccountState",
+ 2 * sync_username.empty() + syncing_account_saved,
+ 4);
}
PasswordStoreChangeList LoginDatabase::AddLogin(const PasswordForm& form) {

Powered by Google App Engine
This is Rietveld 408576698