| Index: chrome/browser/ssl/ssl_blocking_page.h
|
| diff --git a/chrome/browser/ssl/ssl_blocking_page.h b/chrome/browser/ssl/ssl_blocking_page.h
|
| index feb7966f001337a57569c74e394185f9cde8f871..084343c78484728d74b499c0a8a77a1179cf222f 100644
|
| --- a/chrome/browser/ssl/ssl_blocking_page.h
|
| +++ b/chrome/browser/ssl/ssl_blocking_page.h
|
| @@ -37,6 +37,7 @@ class SSLErrorUI;
|
|
|
| class CertReportHelper;
|
| class SSLUITest;
|
| +class ChromeMetricsHelper;
|
|
|
| // This class is responsible for showing/hiding the interstitial page that is
|
| // shown when a certificate error happens.
|
| @@ -52,15 +53,18 @@ class SSLBlockingPage : public SecurityInterstitialPage {
|
| // is responsible for cleaning up the blocking page, otherwise the
|
| // interstitial takes ownership when shown. |options_mask| must be a bitwise
|
| // mask of SSLErrorUI::SSLErrorOptionsMask values.
|
| - SSLBlockingPage(content::WebContents* web_contents,
|
| - int cert_error,
|
| - const net::SSLInfo& ssl_info,
|
| - const GURL& request_url,
|
| - int options_mask,
|
| - const base::Time& time_triggered,
|
| - std::unique_ptr<SSLCertReporter> ssl_cert_reporter,
|
| - const base::Callback<
|
| - void(content::CertificateRequestResultType)>& callback);
|
| + // This is static because the constructor uses expensive to compute parameters
|
| + // more than once (e.g. overrideable).
|
| + static SSLBlockingPage* Create(
|
| + content::WebContents* web_contents,
|
| + int cert_error,
|
| + const net::SSLInfo& ssl_info,
|
| + const GURL& request_url,
|
| + int options_mask,
|
| + const base::Time& time_triggered,
|
| + std::unique_ptr<SSLCertReporter> ssl_cert_reporter,
|
| + const base::Callback<void(content::CertificateRequestResultType)>&
|
| + callback);
|
|
|
| // InterstitialPageDelegate method:
|
| InterstitialPageDelegate::TypeID GetTypeForTesting() const override;
|
| @@ -89,6 +93,19 @@ class SSLBlockingPage : public SecurityInterstitialPage {
|
| base::DictionaryValue* load_time_data) override;
|
|
|
| private:
|
| + SSLBlockingPage(
|
| + content::WebContents* web_contents,
|
| + int cert_error,
|
| + const net::SSLInfo& ssl_info,
|
| + const GURL& request_url,
|
| + int options_mask,
|
| + const base::Time& time_triggered,
|
| + std::unique_ptr<SSLCertReporter> ssl_cert_reporter,
|
| + bool overrideable,
|
| + std::unique_ptr<ChromeMetricsHelper> metrics_helper,
|
| + const base::Callback<void(content::CertificateRequestResultType)>&
|
| + callback);
|
| +
|
| void NotifyDenyCertificate();
|
|
|
| base::Callback<void(content::CertificateRequestResultType)> callback_;
|
|
|