platform2: Fix issues with new version of libchrome

libchrome r334380 has the following breaking changes that need to be fixed:
- base::JSONWriter::Write() and base::JSONWriter::WriteWithOptions() take
  "const base::Value&" instead of "const base::Value*"
- base::JSONReader::Read() and base::JSONReader::ReadAndReturnError()
  return a scoped_ptr<base::Value> instead of base::Value*
- base/safe_strerror_posix.h is moved to base/posix/safe_strerror.h
- safe_strerror() is now in "base" namespace
- StartsWithASCII(), EndsWith(), StringToUpperASCII(), LowerCaseEqualsASCII()
  are now in "base" namespace
- ObserverList<T> is now in "base" namespace
- base::PrintTo(base::FilePath) used in gtest is now moved to libchrome-test
  library and as such, unit test runners need to link to this library now.
- crypto::RSAPrivateKey::CreateSensitive() is now removed from //crypto, so
  some of tests in chromeos-login that used that function had to be changed
  to use crypto::GenerateRSAKeyPairNSS() directly.
- UnixDomanSocket class is now in "base" namespace
- Pickle class is now in "base" namespace

BUG=chromium:496469
TEST=`./build_packages`
CQ-DEPEND=CL:277662

Change-Id: I36e5fbf2e36a92068873ffbd44020c862a3ed9e3
Reviewed-on: https://chromium-review.googlesource.com/277671
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
Trybot-Ready: Alex Vakulenko <avakulenko@chromium.org>
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
diff --git a/metrics/libmetrics-323904.gyp b/metrics/libmetrics-334380.gyp
similarity index 72%
rename from metrics/libmetrics-323904.gyp
rename to metrics/libmetrics-334380.gyp
index fc5bd35..9771821 100644
--- a/metrics/libmetrics-323904.gyp
+++ b/metrics/libmetrics-334380.gyp
@@ -1,6 +1,6 @@
 {
   'variables': {
-    'libbase_ver': 323904,
+    'libbase_ver': 334380,
   },
   'includes': [
     'libmetrics.gypi',
diff --git a/metrics/metrics_daemon_main.cc b/metrics/metrics_daemon_main.cc
index a6d040c..1f64ef3 100644
--- a/metrics/metrics_daemon_main.cc
+++ b/metrics/metrics_daemon_main.cc
@@ -33,7 +33,7 @@
   }
   dev_path = dev_path_cstr;
   // Check that rootdev begins with "/dev/".
-  if (!StartsWithASCII(dev_path, dev_prefix, false)) {
+  if (!base::StartsWithASCII(dev_path, dev_prefix, false)) {
     LOG(WARNING) << "unexpected root device " << dev_path;
     return "";
   }
diff --git a/metrics/serialization/serialization_utils.cc b/metrics/serialization/serialization_utils.cc
index 80d586e..9aa076a 100644
--- a/metrics/serialization/serialization_utils.cc
+++ b/metrics/serialization/serialization_utils.cc
@@ -103,15 +103,15 @@
   const std::string& name = parts[0];
   const std::string& value = parts[1];
 
-  if (LowerCaseEqualsASCII(name, "crash")) {
+  if (base::LowerCaseEqualsASCII(name, "crash")) {
     return MetricSample::CrashSample(value);
-  } else if (LowerCaseEqualsASCII(name, "histogram")) {
+  } else if (base::LowerCaseEqualsASCII(name, "histogram")) {
     return MetricSample::ParseHistogram(value);
-  } else if (LowerCaseEqualsASCII(name, "linearhistogram")) {
+  } else if (base::LowerCaseEqualsASCII(name, "linearhistogram")) {
     return MetricSample::ParseLinearHistogram(value);
-  } else if (LowerCaseEqualsASCII(name, "sparsehistogram")) {
+  } else if (base::LowerCaseEqualsASCII(name, "sparsehistogram")) {
     return MetricSample::ParseSparseHistogram(value);
-  } else if (LowerCaseEqualsASCII(name, "useraction")) {
+  } else if (base::LowerCaseEqualsASCII(name, "useraction")) {
     return MetricSample::UserActionSample(value);
   } else {
     DLOG(ERROR) << "invalid event type: " << name << ", value: " << value;