| Index: components/certificate_reporting/error_reporter.cc
|
| diff --git a/components/certificate_reporting/error_reporter.cc b/components/certificate_reporting/error_reporter.cc
|
| index 02cded5660859f26de1b6b4fcbaad8a9687a295c..222a49204c5d2f44c4352b2d885e46c7f8b0615e 100644
|
| --- a/components/certificate_reporting/error_reporter.cc
|
| +++ b/components/certificate_reporting/error_reporter.cc
|
| @@ -11,8 +11,6 @@
|
|
|
| #include "base/logging.h"
|
| #include "base/memory/ptr_util.h"
|
| -#include "base/metrics/histogram_macros.h"
|
| -#include "base/metrics/sparse_histogram.h"
|
| #include "components/certificate_reporting/encrypted_cert_logger.pb.h"
|
| #include "crypto/aead.h"
|
| #include "crypto/curve25519.h"
|
| @@ -100,12 +98,6 @@ bool EncryptSerializedReport(const uint8_t* server_public_key,
|
| return true;
|
| }
|
|
|
| -// Records an UMA histogram of the net errors when certificate reports
|
| -// fail to send.
|
| -void RecordUMAOnFailure(const GURL& report_uri, int net_error) {
|
| - UMA_HISTOGRAM_SPARSE_SLOWLY("SSL.CertificateErrorReportFailure", -net_error);
|
| -}
|
| -
|
| } // namespace
|
|
|
| ErrorReporter::ErrorReporter(
|
| @@ -134,24 +126,26 @@ ErrorReporter::ErrorReporter(
|
| ErrorReporter::~ErrorReporter() {}
|
|
|
| void ErrorReporter::SendExtendedReportingReport(
|
| - const std::string& serialized_report) {
|
| + const std::string& serialized_report,
|
| + const base::Callback<void()>& success_callback,
|
| + const base::Callback<void(const GURL&, int)>& error_callback) {
|
| if (upload_url_.SchemeIsCryptographic()) {
|
| certificate_report_sender_->Send(upload_url_, "application/octet-stream",
|
| - serialized_report, base::Closure(),
|
| - base::Bind(&RecordUMAOnFailure));
|
| - } else {
|
| - EncryptedCertLoggerRequest encrypted_report;
|
| - if (!EncryptSerializedReport(server_public_key_, server_public_key_version_,
|
| - serialized_report, &encrypted_report)) {
|
| - LOG(ERROR) << "Failed to encrypt serialized report.";
|
| - return;
|
| - }
|
| - std::string serialized_encrypted_report;
|
| - encrypted_report.SerializeToString(&serialized_encrypted_report);
|
| - certificate_report_sender_->Send(
|
| - upload_url_, "application/octet-stream", serialized_encrypted_report,
|
| - base::Closure(), base::Bind(&RecordUMAOnFailure));
|
| + serialized_report, success_callback,
|
| + error_callback);
|
| + return;
|
| + }
|
| + EncryptedCertLoggerRequest encrypted_report;
|
| + if (!EncryptSerializedReport(server_public_key_, server_public_key_version_,
|
| + serialized_report, &encrypted_report)) {
|
| + LOG(ERROR) << "Failed to encrypt serialized report.";
|
| + return;
|
| }
|
| + std::string serialized_encrypted_report;
|
| + encrypted_report.SerializeToString(&serialized_encrypted_report);
|
| + certificate_report_sender_->Send(upload_url_, "application/octet-stream",
|
| + serialized_encrypted_report,
|
| + success_callback, error_callback);
|
| }
|
|
|
| // Used only by tests.
|
|
|