| 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 b67eb20190677f506c1e2e25761b452350cc87ed..0f3d31b777453424d2aa2557ae06cfc52a4cf71b 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;
|
| @@ -90,6 +94,18 @@ class SSLBlockingPage : public SecurityInterstitialPage {
|
| void AfterShow() 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_;
|
|
|