blob: 49caec69646cdb9e8172eda9e339caa0f1c1160a [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/ssl/ssl_blocking_page_base.h"
#include "chrome/browser/ssl/cert_report_helper.h"
#include "chrome/browser/ssl/ssl_cert_reporter.h"
#include "components/security_interstitials/content/security_interstitial_controller_client.h"
SSLBlockingPageBase::SSLBlockingPageBase(
content::WebContents* web_contents,
certificate_reporting::ErrorReport::InterstitialReason interstitial_reason,
const net::SSLInfo& ssl_info,
const GURL& request_url,
std::unique_ptr<SSLCertReporter> ssl_cert_reporter,
bool overridable,
const base::Time& time_triggered,
std::unique_ptr<
security_interstitials::SecurityInterstitialControllerClient>
controller_client)
: security_interstitials::SecurityInterstitialPage(
web_contents,
request_url,
std::move(controller_client)),
cert_report_helper_(
new CertReportHelper(std::move(ssl_cert_reporter),
web_contents,
request_url,
ssl_info,
interstitial_reason,
overridable,
time_triggered,
controller()->metrics_helper())) {}
SSLBlockingPageBase::~SSLBlockingPageBase() {}
void SSLBlockingPageBase::OnInterstitialClosing() {
UpdateMetricsAfterSecurityInterstitial();
cert_report_helper_->FinishCertCollection();
}
CertReportHelper* SSLBlockingPageBase::cert_report_helper() {
return cert_report_helper_.get();
}