#include "chrome/browser/ssl/ssl_error_controller_client.h"
#include <string>
#include "base/command_line.h"
#include "base/feature_list.h"
#include "base/files/file_util.h"
#include "base/functional/bind.h"
#include "base/metrics/field_trial_params.h"
#include "base/metrics/histogram_macros.h"
#include "base/process/launch.h"
#include "base/task/thread_pool.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/interstitials/enterprise_util.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ssl/stateful_ssl_host_state_delegate_factory.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/url_constants.h"
#include "components/safe_browsing/core/common/safe_browsing_prefs.h"
#include "components/security_interstitials/content/content_metrics_helper.h"
#include "components/security_interstitials/content/settings_page_helper.h"
#include "components/security_interstitials/content/stateful_ssl_host_state_delegate.h"
#include "components/security_interstitials/content/utils.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/web_contents.h"
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "ash/constants/ash_features.h"
#include "ash/webui/settings/public/constants/routes.mojom.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/ui/settings_window_manager_chromeos.h"
#include "chrome/common/webui_url_constants.h"
#endif
#if BUILDFLAG(IS_WIN)
#include "base/base_paths_win.h"
#include "base/path_service.h"
#include "base/win/windows_version.h"
#endif
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_commands.h"
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/web_applications/app_browser_controller.h"
#endif
Referrer;
namespace {
bool HasSeenRecurrentErrorInternal(content::WebContents* web_contents,
int cert_error) { … }
}
SSLErrorControllerClient::SSLErrorControllerClient(
content::WebContents* web_contents,
const net::SSLInfo& ssl_info,
int cert_error,
const GURL& request_url,
std::unique_ptr<security_interstitials::MetricsHelper> metrics_helper,
std::unique_ptr<security_interstitials::SettingsPageHelper>
settings_page_helper)
: … { … }
SSLErrorControllerClient::~SSLErrorControllerClient() { … }
void SSLErrorControllerClient::GoBack() { … }
void SSLErrorControllerClient::Proceed() { … }
bool SSLErrorControllerClient::CanLaunchDateAndTimeSettings() { … }
void SSLErrorControllerClient::LaunchDateAndTimeSettings() { … }
bool SSLErrorControllerClient::HasSeenRecurrentError() { … }