metrics: Use sparse histogram for metrics::DownloadErrorCode values

This was pointed out by asvitkine@ when reviewing the histograms.xml
change. Thanks!

BUG=chromium:355745
TEST=Unit tests pass.

Change-Id: I3bb49210d0e9bc443546d05f3597590ec7814841
Reviewed-on: https://chromium-review.googlesource.com/193274
Reviewed-by: David Zeuthen <zeuthen@chromium.org>
Commit-Queue: David Zeuthen <zeuthen@chromium.org>
Tested-by: David Zeuthen <zeuthen@chromium.org>
diff --git a/metrics.cc b/metrics.cc
index 1584120..72a83bd 100644
--- a/metrics.cc
+++ b/metrics.cc
@@ -133,9 +133,8 @@
   if (download_error_code != metrics::DownloadErrorCode::kUnset) {
     metric = metrics::kMetricCheckDownloadErrorCode;
     value = static_cast<int>(download_error_code);
-    max_value = static_cast<int>(metrics::DownloadErrorCode::kNumConstants) - 1;
-    LOG(INFO) << "Sending " << value << " for metric " << metric << " (enum)";
-    system_state->metrics_lib()->SendEnumToUMA(metric, value, max_value);
+    LOG(INFO) << "Sending " << value << " for metric " << metric << " (sparse)";
+    system_state->metrics_lib()->SendSparseToUMA(metric, value);
   }
 
   base::TimeDelta time_since_last;
@@ -277,11 +276,10 @@
   if (payload_download_error_code != DownloadErrorCode::kUnset) {
     metric = metrics::kMetricAttemptDownloadErrorCode;
     LOG(INFO) << "Uploading " << static_cast<int>(payload_download_error_code)
-              << " for metric " <<  metric;
-    system_state->metrics_lib()->SendEnumToUMA(
+              << " for metric " <<  metric << " (sparse)";
+    system_state->metrics_lib()->SendSparseToUMA(
         metric,
-        static_cast<int>(payload_download_error_code),
-        static_cast<int>(DownloadErrorCode::kNumConstants));
+        static_cast<int>(payload_download_error_code));
   }
 
   base::TimeDelta time_since_last;