Index: net/url_request/report_sender.cc |
diff --git a/net/url_request/report_sender.cc b/net/url_request/report_sender.cc |
index 96263d7f2b4ea4b1f87e98508e4723613cd3b0dc..8bd7021580fffce2f48e76146036e439fbbc3551 100644 |
--- a/net/url_request/report_sender.cc |
+++ b/net/url_request/report_sender.cc |
@@ -10,6 +10,7 @@ |
#include "net/base/load_flags.h" |
#include "net/base/request_priority.h" |
#include "net/base/upload_bytes_element_reader.h" |
+#include "net/http/http_status_code.h" |
#include "net/url_request/url_request_context.h" |
#include "net/url_request/url_request_status.h" |
@@ -91,11 +92,15 @@ void ReportSender::OnResponseStarted(URLRequest* request, int net_error) { |
if (net_error != OK) { |
DVLOG(1) << "Failed to send report for " << request->url().host(); |
if (!callback_info->error_callback().is_null()) |
- callback_info->error_callback().Run(request->url(), net_error); |
- } else if (!callback_info->success_callback().is_null()) { |
- callback_info->success_callback().Run(); |
+ callback_info->error_callback().Run(request->url(), net_error, -1); |
+ } else if (request->GetResponseCode() != net::HTTP_OK) { |
+ if (!callback_info->error_callback().is_null()) |
+ callback_info->error_callback().Run(request->url(), OK, |
+ request->GetResponseCode()); |
+ } else { |
+ if (!callback_info->success_callback().is_null()) |
+ callback_info->success_callback().Run(); |
} |
- |
CHECK_GT(inflight_requests_.erase(request), 0u); |
} |