Chromium Code Reviews| Index: chrome/browser/net/certificate_error_reporter.h |
| diff --git a/chrome/browser/net/certificate_error_reporter.h b/chrome/browser/net/certificate_error_reporter.h |
| index 6b60ef850be2fdf66988e36a6b0ef7078bc74355..3a7b59457c1fc66a08ea080a9b701088369468e8 100644 |
| --- a/chrome/browser/net/certificate_error_reporter.h |
| +++ b/chrome/browser/net/certificate_error_reporter.h |
| @@ -10,6 +10,7 @@ |
| #include "base/macros.h" |
| #include "base/memory/scoped_ptr.h" |
| +#include "net/url_request/certificate_report_sender.h" |
| #include "net/url_request/url_request.h" |
|
mattm
2015/07/28 00:15:54
no longer needed
estark
2015/07/28 00:28:57
Done.
|
| #include "url/gurl.h" |
| @@ -24,7 +25,7 @@ class EncryptedCertLoggerRequest; |
| // Provides functionality for sending reports about invalid SSL |
| // certificate chains to a report collection server. |
| -class CertificateErrorReporter : public net::URLRequest::Delegate { |
| +class CertificateErrorReporter { |
| public: |
| // These represent the types of reports that can be sent. |
| enum ReportType { |
| @@ -36,26 +37,24 @@ class CertificateErrorReporter : public net::URLRequest::Delegate { |
| REPORT_TYPE_EXTENDED_REPORTING |
| }; |
| - // Represents whether or not to send cookies along with reports sent |
| - // to the server. |
| - enum CookiesPreference { SEND_COOKIES, DO_NOT_SEND_COOKIES }; |
| - |
| // Creates a certificate error reporter that will send certificate |
| // error reports to |upload_url|, using |request_context| as the |
| // context for the reports. |cookies_preference| controls whether |
| // cookies will be sent along with the reports. |
| - CertificateErrorReporter(net::URLRequestContext* request_context, |
| - const GURL& upload_url, |
| - CookiesPreference cookies_preference); |
| + CertificateErrorReporter( |
| + net::URLRequestContext* request_context, |
| + const GURL& upload_url, |
| + net::CertificateReportSender::CookiesPreference cookies_preference); |
| - // Allows tests to use a server public key with known private key. |
| - CertificateErrorReporter(net::URLRequestContext* request_context, |
| - const GURL& upload_url, |
| - CookiesPreference cookies_preference, |
| - const uint8 server_public_key[32], |
| - const uint32 server_public_key_version); |
| + // Allows tests to use a server public key with known private key and |
| + // a mock CertificateReportSender. |
| + CertificateErrorReporter( |
| + const GURL& upload_url, |
| + const uint8 server_public_key[32], |
| + const uint32 server_public_key_version, |
| + scoped_ptr<net::CertificateReportSender> certificate_report_sender); |
| - ~CertificateErrorReporter() override; |
| + virtual ~CertificateErrorReporter(); |
| // Sends a certificate report to the report collection server. The |
| // |serialized_report| is expected to be a serialized protobuf |
| @@ -74,41 +73,23 @@ class CertificateErrorReporter : public net::URLRequest::Delegate { |
| virtual void SendReport(ReportType type, |
| const std::string& serialized_report); |
| - // net::URLRequest::Delegate |
| - void OnResponseStarted(net::URLRequest* request) override; |
| - void OnReadCompleted(net::URLRequest* request, int bytes_read) override; |
| - |
| // Callers can use this method to determine if sending reports over |
| // HTTP is supported. |
| static bool IsHttpUploadUrlSupported(); |
| +#if defined(USE_OPENSSL) |
| // Used by tests. |
| static bool DecryptCertificateErrorReport( |
| const uint8 server_private_key[32], |
| const EncryptedCertLoggerRequest& encrypted_report, |
| std::string* decrypted_serialized_report); |
| +#endif |
| private: |
| - // Creates a URLRequest with which to send a certificate report to the |
| - // server. |
| - virtual scoped_ptr<net::URLRequest> CreateURLRequest( |
| - net::URLRequestContext* context); |
| - |
| - // Sends a serialized report (encrypted or not) to the report |
| - // collection server. |
| - void SendSerializedRequest(const std::string& serialized_request); |
| + scoped_ptr<net::CertificateReportSender> certificate_report_sender_; |
| - // Performs post-report cleanup. |
| - void RequestComplete(net::URLRequest* request); |
| - |
| - net::URLRequestContext* const request_context_; |
| const GURL upload_url_; |
| - // Owns the contained requests. |
| - std::set<net::URLRequest*> inflight_requests_; |
| - |
| - CookiesPreference cookies_preference_; |
| - |
| const uint8* server_public_key_; |
| const uint32 server_public_key_version_; |