Index: chrome/browser/safe_browsing/ping_manager.h |
diff --git a/chrome/browser/safe_browsing/ping_manager.h b/chrome/browser/safe_browsing/ping_manager.h |
index a33559b532b2fa0951bd966696acb628ff62256d..28c536ce0228c60046659cffec1a11b5ccb6a0ff 100644 |
--- a/chrome/browser/safe_browsing/ping_manager.h |
+++ b/chrome/browser/safe_browsing/ping_manager.h |
@@ -18,7 +18,12 @@ |
#include "net/url_request/url_fetcher_delegate.h" |
#include "url/gurl.h" |
+namespace chrome_browser_net { |
+class CertificateErrorReporter; |
+} |
+ |
namespace net { |
+class SSLInfo; |
class URLRequestContextGetter; |
} // namespace net |
@@ -49,6 +54,14 @@ class SafeBrowsingPingManager : public net::URLFetcherDelegate { |
// malware reports. |report| is the serialized report. |
void ReportMalwareDetails(const std::string& report); |
+ // Users can opt-in on the SSL interstitial to send reports of invalid |
+ // certificate chains. |
+ void ReportInvalidCertificateChain(const std::string& hostname, |
+ const net::SSLInfo& ssl_info); |
+ |
+ void SetCertificateErrorReporterForTesting(scoped_ptr< |
+ chrome_browser_net::CertificateErrorReporter> certificate_error_reporter); |
+ |
private: |
FRIEND_TEST_ALL_PREFIXES(SafeBrowsingPingManagerTest, |
TestSafeBrowsingHitUrl); |
@@ -88,6 +101,10 @@ class SafeBrowsingPingManager : public net::URLFetcherDelegate { |
// We add both "hit" and "detail" fetchers in this set. |
Reports safebrowsing_reports_; |
+ // Sends reports of invalid SSL certificate chains. |
+ scoped_ptr<chrome_browser_net::CertificateErrorReporter> |
+ certificate_error_reporter_; |
+ |
DISALLOW_COPY_AND_ASSIGN(SafeBrowsingPingManager); |
}; |