Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4732)

Unified Diff: chrome/browser/ssl/ssl_error_handler.cc

Issue 935663004: Add checkbox for reporting invalid TLS/SSL cert chains (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: comment tweaks Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ssl/ssl_error_handler.cc
diff --git a/chrome/browser/ssl/ssl_error_handler.cc b/chrome/browser/ssl/ssl_error_handler.cc
index c41a7acbaba8984f72d2c70b1e1ea86cfa10395b..f912a82199fa76aefe8f9f12a6a38c420e970df8 100644
--- a/chrome/browser/ssl/ssl_error_handler.cc
+++ b/chrome/browser/ssl/ssl_error_handler.cc
@@ -4,9 +4,11 @@
#include "chrome/browser/ssl/ssl_error_handler.h"
+#include "base/memory/ref_counted.h"
#include "base/metrics/field_trial.h"
#include "base/metrics/histogram.h"
#include "base/time/time.h"
+#include "chrome/browser/net/certificate_error_reporter.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ssl/ssl_blocking_page.h"
#include "content/public/browser/notification_service.h"
@@ -88,6 +90,8 @@ void SSLErrorHandler::HandleSSLError(
const net::SSLInfo& ssl_info,
const GURL& request_url,
int options_mask,
+ scoped_refptr<chrome_browser_net::CertificateErrorReporter>
+ certificate_error_reporter,
const base::Callback<void(bool)>& callback) {
#if defined(ENABLE_CAPTIVE_PORTAL_DETECTION)
CaptivePortalTabHelper* captive_portal_tab_helper =
@@ -97,10 +101,10 @@ void SSLErrorHandler::HandleSSLError(
}
#endif
DCHECK(!FromWebContents(web_contents));
- web_contents->SetUserData(UserDataKey(),
- new SSLErrorHandler(web_contents, cert_error,
- ssl_info, request_url,
- options_mask, callback));
+ web_contents->SetUserData(
+ UserDataKey(),
+ new SSLErrorHandler(web_contents, cert_error, ssl_info, request_url,
+ options_mask, certificate_error_reporter, callback));
SSLErrorHandler* error_handler =
SSLErrorHandler::FromWebContents(web_contents);
@@ -120,17 +124,21 @@ void SSLErrorHandler::SetInterstitialTimerStartedCallbackForTest(
g_timer_started_callback = callback;
}
-SSLErrorHandler::SSLErrorHandler(content::WebContents* web_contents,
- int cert_error,
- const net::SSLInfo& ssl_info,
- const GURL& request_url,
- int options_mask,
- const base::Callback<void(bool)>& callback)
+SSLErrorHandler::SSLErrorHandler(
+ content::WebContents* web_contents,
+ int cert_error,
+ const net::SSLInfo& ssl_info,
+ const GURL& request_url,
+ int options_mask,
+ scoped_refptr<chrome_browser_net::CertificateErrorReporter>
+ certificate_error_reporter,
+ const base::Callback<void(bool)>& callback)
: web_contents_(web_contents),
cert_error_(cert_error),
ssl_info_(ssl_info),
request_url_(request_url),
options_mask_(options_mask),
+ certificate_error_reporter_(certificate_error_reporter),
callback_(callback) {
#if defined(ENABLE_CAPTIVE_PORTAL_DETECTION)
Profile* profile = Profile::FromBrowserContext(
@@ -201,7 +209,7 @@ void SSLErrorHandler::ShowSSLInterstitial() {
SHOW_SSL_INTERSTITIAL_NONOVERRIDABLE);
(new SSLBlockingPage(web_contents_, cert_error_, ssl_info_, request_url_,
options_mask_, base::Time::NowFromSystemTime(),
- callback_))->Show();
+ certificate_error_reporter_, callback_))->Show();
// Once an interstitial is displayed, no need to keep the handler around.
// This is the equivalent of "delete this".
web_contents_->RemoveUserData(UserDataKey());

Powered by Google App Engine
This is Rietveld 408576698