Index: components/metrics/test_metrics_service_client.cc |
diff --git a/components/metrics/test_metrics_service_client.cc b/components/metrics/test_metrics_service_client.cc |
index 656fecc7f742c8c4576373e663940957650f0593..31e520ecdbb75084a0d72497ae70a7a4b17f36ba 100644 |
--- a/components/metrics/test_metrics_service_client.cc |
+++ b/components/metrics/test_metrics_service_client.cc |
@@ -4,12 +4,34 @@ |
#include "components/metrics/test_metrics_service_client.h" |
+#include <memory> |
+ |
#include "base/callback.h" |
#include "components/metrics/metrics_log_uploader.h" |
#include "components/metrics/proto/chrome_user_metrics_extension.pb.h" |
namespace metrics { |
+namespace { |
+ |
+class TestMetricsLogUploader : public MetricsLogUploader { |
+ public: |
+ TestMetricsLogUploader(const std::string& server_url, |
+ const std::string& mime_type, |
+ const base::Callback<void(int)>& on_upload_complete) |
+ : MetricsLogUploader(server_url, mime_type, on_upload_complete) {} |
+ ~TestMetricsLogUploader() override = default; |
+ |
+ // MetricsLogUploader: |
+ void UploadLog(const std::string& compressed_log_data, |
+ const std::string& log_hash) override { |
+ // Never succeeds at uploading. |
+ on_upload_complete_.Run(404); |
+ } |
+}; |
+ |
+} // namespace |
+ |
// static |
const char TestMetricsServiceClient::kBrandForTesting[] = "brand_for_testing"; |
@@ -66,7 +88,8 @@ std::unique_ptr<MetricsLogUploader> TestMetricsServiceClient::CreateUploader( |
const std::string& server_url, |
const std::string& mime_type, |
const base::Callback<void(int)>& on_upload_complete) { |
- return std::unique_ptr<MetricsLogUploader>(); |
+ return std::unique_ptr<MetricsLogUploader>( |
+ new TestMetricsLogUploader(server_url, mime_type, on_upload_complete)); |
} |
base::TimeDelta TestMetricsServiceClient::GetStandardUploadInterval() { |