#include "components/safe_browsing/core/browser/safe_browsing_lookup_mechanism.h"
#include "base/metrics/histogram_functions.h"
#include "base/strings/strcat.h"
#include "components/safe_browsing/core/browser/db/v4_protocol_manager_util.h"
namespace safe_browsing {
SafeBrowsingLookupMechanism::SafeBrowsingLookupMechanism(
const GURL& url,
const SBThreatTypeSet& threat_types,
scoped_refptr<SafeBrowsingDatabaseManager> database_manager)
: … { … }
SafeBrowsingLookupMechanism::~SafeBrowsingLookupMechanism() = default;
SafeBrowsingLookupMechanism::StartCheckResult::StartCheckResult(
bool is_safe_synchronously,
std::optional<ThreatSource> threat_source)
: … { … }
SafeBrowsingLookupMechanism::CompleteCheckResult::CompleteCheckResult(
const GURL& url,
SBThreatType threat_type,
const ThreatMetadata& metadata,
std::optional<ThreatSource> threat_source,
std::unique_ptr<RTLookupResponse> url_real_time_lookup_response)
: … { … }
SafeBrowsingLookupMechanism::CompleteCheckResult::~CompleteCheckResult() =
default;
SafeBrowsingLookupMechanism::StartCheckResult
SafeBrowsingLookupMechanism::StartCheck(
CompleteCheckResultCallback complete_check_callback) { … }
void SafeBrowsingLookupMechanism::CompleteCheck(
std::unique_ptr<CompleteCheckResult> result) { … }
void SafeBrowsingLookupMechanism::LogHashDatabaseFallbackResult(
const std::string& metric_variation,
HashDatabaseFallbackTrigger trigger,
SBThreatType threat_type) { … }
}