| 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);
|
| }
|
|
|
|
|