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

Unified Diff: chrome/browser/metrics/metrics_log.cc

Issue 25364002: Add multi_profile_user_count field to system_profile proto. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 3 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/metrics/metrics_log.cc
diff --git a/chrome/browser/metrics/metrics_log.cc b/chrome/browser/metrics/metrics_log.cc
index f2962a5015a797296396ea2cb0afa8db2c23b025..64383e0667c0dcc50f7ed4e79ae3bd35edbb4928 100644
--- a/chrome/browser/metrics/metrics_log.cc
+++ b/chrome/browser/metrics/metrics_log.cc
@@ -62,6 +62,10 @@
extern "C" IMAGE_DOS_HEADER __ImageBase;
#endif
+#if defined(OS_CHROMEOS)
+#include "chrome/browser/chromeos/login/user_manager.h"
+#endif
+
using content::GpuDataManager;
using metrics::OmniboxEventProto;
using metrics::PerfDataProto;
@@ -379,7 +383,14 @@ static base::LazyInstance<std::string>::Leaky
g_version_extension = LAZY_INSTANCE_INITIALIZER;
MetricsLog::MetricsLog(const std::string& client_id, int session_id)
- : MetricsLogBase(client_id, session_id, MetricsLog::GetVersionString()) {}
+ : MetricsLogBase(client_id, session_id, MetricsLog::GetVersionString()) {
+#if defined(OS_CHROMEOS)
+ initial_multi_profile_user_count_ = 0;
Ilya Sherman 2013/09/30 23:42:52 nit: Please move this to the initializer list.
+ chromeos::UserManager* user_manager = chromeos::UserManager::Get();
+ if (user_manager && user_manager->IsMultipleProfilesAllowed())
+ initial_multi_profile_user_count_ = user_manager->GetLoggedInUsers().size();
+#endif
+}
MetricsLog::~MetricsLog() {}
@@ -799,6 +810,15 @@ void MetricsLog::RecordEnvironmentProto(
base::Unretained(this)));
DCHECK(adapter_.get());
WriteBluetoothProto(hardware);
+
+ chromeos::UserManager* user_manager = chromeos::UserManager::Get();
+ if (user_manager && user_manager->IsMultipleProfilesAllowed()) {
+ int user_count = user_manager->GetLoggedInUsers().size();
+ // We invalidate the user count if it changed while the log was open.
+ if (user_count != initial_multi_profile_user_count_)
+ user_count = 0;
+ system_profile->set_multi_profile_user_count(user_count);
+ }
#endif
}

Powered by Google App Engine
This is Rietveld 408576698