Index: chrome/browser/safe_browsing/ping_manager.cc |
diff --git a/chrome/browser/safe_browsing/ping_manager.cc b/chrome/browser/safe_browsing/ping_manager.cc |
index 04783410fcef1f848ef6e6dd4a0d51160d14c223..7323cdd792233a6948481ee9628cbe5c81a3b5a6 100644 |
--- a/chrome/browser/safe_browsing/ping_manager.cc |
+++ b/chrome/browser/safe_browsing/ping_manager.cc |
@@ -8,15 +8,19 @@ |
#include "base/stl_util.h" |
#include "base/strings/string_util.h" |
#include "base/strings/stringprintf.h" |
+#include "chrome/browser/net/certificate_error_reporter.h" |
#include "chrome/common/env_vars.h" |
#include "content/public/browser/browser_thread.h" |
#include "google_apis/google_api_keys.h" |
#include "net/base/escape.h" |
#include "net/base/load_flags.h" |
+#include "net/ssl/ssl_info.h" |
#include "net/url_request/url_fetcher.h" |
#include "net/url_request/url_request_context_getter.h" |
#include "net/url_request/url_request_status.h" |
+#include "url/gurl.h" |
+using chrome_browser_net::CertificateErrorReporter; |
using content::BrowserThread; |
// SafeBrowsingPingManager implementation ---------------------------------- |
@@ -34,7 +38,10 @@ SafeBrowsingPingManager::SafeBrowsingPingManager( |
const SafeBrowsingProtocolConfig& config) |
: client_name_(config.client_name), |
request_context_getter_(request_context_getter), |
- url_prefix_(config.url_prefix) { |
+ url_prefix_(config.url_prefix), |
+ certificate_error_reporter_(new CertificateErrorReporter( |
+ request_context_getter->GetURLRequestContext(), |
+ GURL(chrome_browser_net::kExtendedReportingUploadUrl))) { |
DCHECK(!url_prefix_.empty()); |
version_ = SafeBrowsingProtocolManagerHelper::Version(); |
@@ -95,6 +102,19 @@ void SafeBrowsingPingManager::ReportMalwareDetails( |
safebrowsing_reports_.insert(fetcher); |
} |
+void SafeBrowsingPingManager::ReportInvalidCertificateChain( |
+ const std::string& hostname, |
+ const net::SSLInfo& ssl_info) { |
+ certificate_error_reporter_->SendReport( |
+ CertificateErrorReporter::REPORT_TYPE_EXTENDED_REPORTING, hostname, |
+ ssl_info); |
+} |
+ |
+void SafeBrowsingPingManager::SetCertificateErrorReporterForTesting( |
+ scoped_ptr<CertificateErrorReporter> certificate_error_reporter) { |
+ certificate_error_reporter_.reset(certificate_error_reporter.release()); |
mattm
2015/03/23 19:22:06
.Pass()
estark
2015/03/23 20:55:28
Done, sort of. I get a compiler error if I just re
mattm
2015/03/24 21:56:39
Yeah, that's right.
|
+} |
+ |
GURL SafeBrowsingPingManager::SafeBrowsingHitUrl( |
const GURL& malicious_url, const GURL& page_url, |
const GURL& referrer_url, bool is_subresource, |