summaryrefslogtreecommitdiffstats
path: root/chrome/browser/metrics
diff options
context:
space:
mode:
authorstevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-09 21:19:37 +0000
committerstevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-09 21:19:37 +0000
commitdb342d53be64c145c73a8d687c475f03464dc9db (patch)
tree53a41c425e8d0c48e4a5f0829674069846ac57bc /chrome/browser/metrics
parent20448a1990372714ec98cbfdb2a051c40bd30316 (diff)
downloadchromium_src-db342d53be64c145c73a8d687c475f03464dc9db.zip
chromium_src-db342d53be64c145c73a8d687c475f03464dc9db.tar.gz
chromium_src-db342d53be64c145c73a8d687c475f03464dc9db.tar.bz2
Add GetMachineStatistic to SystemLibrary.
BUG=chromeos:3949 (http://code.google.com/p/chromium-os/issues/detail?id=3949) TEST=Run a version of chrome with the corresponding changes. Ensure that reporting is enabled. Check that the report "hardware_class" value is valid. See also: http://codereview.chromium.org/3067003/show Review URL: http://codereview.chromium.org/3069002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55471 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/metrics')
-rw-r--r--chrome/browser/metrics/metrics_service.cc23
-rw-r--r--chrome/browser/metrics/metrics_service_unittest.cc10
2 files changed, 5 insertions, 28 deletions
diff --git a/chrome/browser/metrics/metrics_service.cc b/chrome/browser/metrics/metrics_service.cc
index 442306f..1dcc6df 100644
--- a/chrome/browser/metrics/metrics_service.cc
+++ b/chrome/browser/metrics/metrics_service.cc
@@ -201,10 +201,9 @@
#endif
#if defined(OS_CHROMEOS)
+#include "chrome/browser/chromeos/cros/cros_library.h"
+#include "chrome/browser/chromeos/cros/system_library.h"
#include "chrome/browser/chromeos/external_metrics.h"
-
-static const char kHardwareClassTool[] = "/usr/bin/hardware_class";
-static const char kUnknownHardwareClass[] = "unknown";
#endif
namespace {
@@ -368,7 +367,9 @@ class MetricsService::InitTask : public Task {
NPAPI::PluginList::Singleton()->GetPlugins(false, &plugins);
std::string hardware_class; // Empty string by default.
#if defined(OS_CHROMEOS)
- hardware_class = MetricsService::GetHardwareClass();
+ chromeos::SystemLibrary* system_library =
+ chromeos::CrosLibrary::Get()->GetSystemLibrary();
+ system_library->GetMachineStatistic("hardware_class", &hardware_class);
#endif // OS_CHROMEOS
callback_loop_->PostTask(FROM_HERE, new InitTaskComplete(
hardware_class, plugins));
@@ -1940,20 +1941,6 @@ static bool IsSingleThreaded() {
}
#if defined(OS_CHROMEOS)
-// static
-std::string MetricsService::GetHardwareClass() {
- DCHECK(!ChromeThread::CurrentlyOn(ChromeThread::UI));
- std::string hardware_class;
- FilePath tool(kHardwareClassTool);
- CommandLine command(tool);
- if (base::GetAppOutput(command, &hardware_class)) {
- TrimWhitespaceASCII(hardware_class, TRIM_ALL, &hardware_class);
- } else {
- hardware_class = kUnknownHardwareClass;
- }
- return hardware_class;
-}
-
void MetricsService::StartExternalMetrics() {
external_metrics_ = new chromeos::ExternalMetrics;
external_metrics_->Start();
diff --git a/chrome/browser/metrics/metrics_service_unittest.cc b/chrome/browser/metrics/metrics_service_unittest.cc
index 6a1026c..a5ec080 100644
--- a/chrome/browser/metrics/metrics_service_unittest.cc
+++ b/chrome/browser/metrics/metrics_service_unittest.cc
@@ -40,16 +40,6 @@ TEST(MetricsServiceTest, ClientIdCorrectlyFormatted) {
}
#endif
-#if defined(OS_CHROMEOS)
-TEST(MetricsServiceTest, GetHardwareClass) {
- // The assumption is that unit tests run on the build host rather
- // than on the Chrome OS device so the hardware_class tool is not
- // available.
- std::string hardware_class = MetricsService::GetHardwareClass();
- EXPECT_EQ("unknown", hardware_class);
-}
-#endif // OS_CHROMEOS
-
class MetricsServiceTest : public ::testing::Test {
};