From 054c80163856843954da96c1f05fec158a40c2c4 Mon Sep 17 00:00:00 2001 From: "thakis@chromium.org" Date: Wed, 16 Nov 2011 00:12:42 +0000 Subject: chrome: Remove 10 exit time destructors and 2 static initializers. version_extension_ in MetricsLogBase was only used in the MetricsLog subclass, so move it to there. BUG=101600,94925 TEST=none Review URL: http://codereview.chromium.org/8468018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110219 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/metrics/metrics_log.cc | 19 +++++++++++++++++-- chrome/browser/metrics/metrics_log.h | 5 +++++ 2 files changed, 22 insertions(+), 2 deletions(-) (limited to 'chrome/browser/metrics') diff --git a/chrome/browser/metrics/metrics_log.cc b/chrome/browser/metrics/metrics_log.cc index 4526893..0f5f514 100644 --- a/chrome/browser/metrics/metrics_log.cc +++ b/chrome/browser/metrics/metrics_log.cc @@ -9,6 +9,7 @@ #include "base/basictypes.h" #include "base/file_util.h" +#include "base/lazy_instance.h" #include "base/memory/scoped_ptr.h" #include "base/perftimer.h" #include "base/string_util.h" @@ -37,6 +38,10 @@ extern "C" IMAGE_DOS_HEADER __ImageBase; #endif +static base::LazyInstance > + g_version_extension = LAZY_INSTANCE_INITIALIZER; + MetricsLog::MetricsLog(const std::string& client_id, int session_id) : MetricsLogBase(client_id, session_id, MetricsLog::GetVersionString()) {} @@ -81,8 +86,8 @@ std::string MetricsLog::GetVersionString() { } std::string version = version_info.Version(); - if (!version_extension_.empty()) - version += version_extension_; + if (!version_extension().empty()) + version += version_extension(); if (!version_info.IsOfficialBuild()) version.append("-devel"); return version; @@ -92,6 +97,16 @@ MetricsLog* MetricsLog::AsMetricsLog() { return this; } +// static +void MetricsLog::set_version_extension(const std::string& extension) { + g_version_extension.Get() = extension; +} + +// static +const std::string& MetricsLog::version_extension() { + return g_version_extension.Get(); +} + void MetricsLog::RecordIncrementalStabilityElements() { DCHECK(!locked_); diff --git a/chrome/browser/metrics/metrics_log.h b/chrome/browser/metrics/metrics_log.h index 95b1252..0903b14 100644 --- a/chrome/browser/metrics/metrics_log.h +++ b/chrome/browser/metrics/metrics_log.h @@ -65,6 +65,11 @@ class MetricsLog : public MetricsLogBase { virtual MetricsLog* AsMetricsLog(); + // Use |extension| in all uploaded appversions in addition to the standard + // version string. + static void set_version_extension(const std::string& extension); + static const std::string& version_extension(); + private: FRIEND_TEST_ALL_PREFIXES(MetricsLogTest, ChromeOSStabilityData); -- cgit v1.1