#include "chrome/browser/ssl/https_upgrades_util.h"
#include "base/feature_list.h"
#include "base/values.h"
#include "chrome/browser/ssl/https_upgrades_interceptor.h"
#include "chrome/common/chrome_features.h"
#include "chrome/common/pref_names.h"
#include "components/content_settings/core/common/content_settings_pattern.h"
#include "components/prefs/pref_service.h"
#include "components/security_interstitials/core/https_only_mode_metrics.h"
#include "net/base/url_util.h"
#include "url/gurl.h"
HttpInterstitialState;
bool IsHostnameInHttpAllowlist(const GURL& url, PrefService* prefs) { … }
void AllowHttpForHostnamesForTesting(const std::vector<std::string>& hostnames,
PrefService* prefs) { … }
void ClearHttpAllowlistForHostnamesForTesting(PrefService* prefs) { … }
bool IsBalancedModeAvailable() { … }
bool IsBalancedModeEnabled(PrefService* prefs) { … }
bool IsBalancedModeUniquelyEnabled(const HttpInterstitialState& state) { … }
bool IsNewHttpsFirstModeInterstitialEnabled() { … }
bool IsInterstitialEnabled(const HttpInterstitialState& state) { … }
bool IsStrictInterstitialEnabled(const HttpInterstitialState& state) { … }
bool ShouldExemptNonUniqueHostnames(const HttpInterstitialState& state) { … }
bool ShouldExcludeUrlFromInterstitial(const HttpInterstitialState& state,
const GURL& url) { … }
ScopedAllowHttpForHostnamesForTesting::ScopedAllowHttpForHostnamesForTesting(
const std::vector<std::string>& hostnames,
PrefService* prefs)
: … { … }
ScopedAllowHttpForHostnamesForTesting::
~ScopedAllowHttpForHostnamesForTesting() { … }