| Index: components/metrics/net/net_metrics_log_uploader.cc
 | 
| diff --git a/components/metrics/net/net_metrics_log_uploader.cc b/components/metrics/net/net_metrics_log_uploader.cc
 | 
| index 05d1f5c9894db453e76d3addb33fe8d7540d8fbd..e7dac872d37d6d210588f9e40205ee2d998d888c 100644
 | 
| --- a/components/metrics/net/net_metrics_log_uploader.cc
 | 
| +++ b/components/metrics/net/net_metrics_log_uploader.cc
 | 
| @@ -102,7 +102,7 @@ NetMetricsLogUploader::NetMetricsLogUploader(
 | 
|      base::StringPiece server_url,
 | 
|      base::StringPiece mime_type,
 | 
|      MetricsLogUploader::MetricServiceType service_type,
 | 
| -    const base::Callback<void(int)>& on_upload_complete)
 | 
| +    const MetricsLogUploader::UploadCallback& on_upload_complete)
 | 
|      : request_context_getter_(request_context_getter),
 | 
|        server_url_(server_url),
 | 
|        mime_type_(mime_type.data(), mime_type.size()),
 | 
| @@ -155,8 +155,13 @@ void NetMetricsLogUploader::OnURLFetchComplete(const net::URLFetcher* source) {
 | 
|    int response_code = source->GetResponseCode();
 | 
|    if (response_code == net::URLFetcher::RESPONSE_CODE_INVALID)
 | 
|      response_code = -1;
 | 
| +  int error_code = 0;
 | 
| +  const net::URLRequestStatus& request_status = source->GetStatus();
 | 
| +  if (request_status.status() != net::URLRequestStatus::SUCCESS) {
 | 
| +    error_code = request_status.error();
 | 
| +  }
 | 
|    current_fetch_.reset();
 | 
| -  on_upload_complete_.Run(response_code);
 | 
| +  on_upload_complete_.Run(response_code, error_code);
 | 
|  }
 | 
|  
 | 
|  }  // namespace metrics
 | 
| 
 |