#include "components/safe_browsing/core/common/utils.h"
#include "base/feature_list.h"
#include "base/metrics/histogram_functions.h"
#include "base/metrics/histogram_macros.h"
#include "base/ranges/algorithm.h"
#include "base/strings/strcat.h"
#include "base/strings/string_number_conversions.h"
#include "base/time/time.h"
#include "build/build_config.h"
#include "components/policy/core/browser/browser_policy_connector.h"
#include "components/prefs/pref_service.h"
#include "components/safe_browsing/core/browser/db/hit_report.h"
#include "components/safe_browsing/core/common/features.h"
#include "components/security_interstitials/core/unsafe_resource.h"
#include "crypto/sha2.h"
#include "net/base/ip_address.h"
#include "net/base/url_util.h"
#include "net/http/http_request_headers.h"
#include "net/http/http_status_code.h"
#include "services/network/public/cpp/resource_request.h"
#if BUILDFLAG(IS_WIN)
#include "base/enterprise_util.h"
#endif
namespace safe_browsing {
namespace {
const char kAuthHeaderBearer[] = …;
const int kUnsetHttpResponseCode = …;
}
std::string ShortURLForReporting(const GURL& url) { … }
ChromeUserPopulation::ProfileManagementStatus GetProfileManagementStatus(
const policy::BrowserPolicyConnector* bpc) { … }
void SetDelayInPref(PrefService* prefs,
const char* pref_name,
const base::TimeDelta& delay) { … }
base::TimeDelta GetDelayFromPref(PrefService* prefs, const char* pref_name) { … }
bool CanGetReputationOfUrl(const GURL& url) { … }
void SetAccessTokenAndClearCookieInResourceRequest(
network::ResourceRequest* resource_request,
const std::string& access_token) { … }
void RecordHttpResponseOrErrorCode(const char* metric_name,
int net_error,
int response_code) { … }
bool ErrorIsRetriable(int net_error, int http_error) { … }
std::string GetExtraMetricsSuffix(
security_interstitials::UnsafeResource unsafe_resource) { … }
}