| Index: chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
|
| ===================================================================
|
| --- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc (revision 194467)
|
| +++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc (working copy)
|
| @@ -5,7 +5,6 @@
|
| #include "chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.h"
|
|
|
| #include <string>
|
| -#include <vector>
|
|
|
| #include "base/bind.h"
|
| #include "base/command_line.h"
|
| @@ -24,8 +23,7 @@
|
| #if defined(OS_LINUX) && !defined(OS_CHROMEOS)
|
| #include <gnu/libc-version.h>
|
|
|
| -#include "base/strings/string_number_conversions.h"
|
| -#include "base/strings/string_split.h"
|
| +#include "base/version.h"
|
| #endif
|
|
|
| namespace {
|
| @@ -69,23 +67,18 @@
|
|
|
| void RecordLinuxGlibcVersion() {
|
| #if defined(OS_LINUX) && !defined(OS_CHROMEOS)
|
| - std::string glibc_version_string(gnu_get_libc_version());
|
| - std::vector<std::string> split_glibc_version;
|
| - base::SplitString(glibc_version_string, '.', &split_glibc_version);
|
| + Version version(gnu_get_libc_version());
|
|
|
| UMALinuxGlibcVersion glibc_version_result = UMA_LINUX_GLIBC_NOT_PARSEABLE;
|
| - unsigned glibc_major_version = 0;
|
| - unsigned glibc_minor_version = 0;
|
| - if (split_glibc_version.size() == 2 &&
|
| - base::StringToUint(split_glibc_version[0], &glibc_major_version) &&
|
| - base::StringToUint(split_glibc_version[1], &glibc_minor_version)) {
|
| + if (version.IsValid() && version.components().size() == 2) {
|
| glibc_version_result = UMA_LINUX_GLIBC_UNKNOWN;
|
| + int glibc_major_version = version.components()[0];
|
| + int glibc_minor_version = version.components()[1];
|
| if (glibc_major_version == 2) {
|
| // A constant to translate glibc 2.x minor versions to their
|
| // equivalent UMALinuxGlibcVersion values.
|
| - const unsigned kGlibcMinorVersionTranslationOffset =
|
| - 11 - UMA_LINUX_GLIBC_2_11;
|
| - unsigned translated_glibc_minor_version =
|
| + const int kGlibcMinorVersionTranslationOffset = 11 - UMA_LINUX_GLIBC_2_11;
|
| + int translated_glibc_minor_version =
|
| glibc_minor_version - kGlibcMinorVersionTranslationOffset;
|
| if (translated_glibc_minor_version >= UMA_LINUX_GLIBC_2_11 &&
|
| translated_glibc_minor_version <= UMA_LINUX_GLIBC_2_19) {
|
|
|