#include "chrome/browser/safe_browsing/download_protection/download_url_sb_client.h"
#include "base/functional/bind.h"
#include "base/metrics/histogram_functions.h"
#include "base/metrics/histogram_macros.h"
#include "base/strings/string_number_conversions.h"
#include "chrome/browser/metrics/chrome_metrics_service_accessor.h"
#include "chrome/browser/safe_browsing/download_protection/download_protection_service.h"
#include "components/safe_browsing/content/browser/client_report_util.h"
#include "components/safe_browsing/content/browser/safe_browsing_navigation_observer_manager.h"
#include "components/safe_browsing/content/browser/ui_manager.h"
#include "components/safe_browsing/core/browser/referrer_chain_provider.h"
#include "components/safe_browsing/core/common/features.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/download_item_utils.h"
namespace safe_browsing {
using enum ExtendedReportingLevel;
DownloadUrlSBClient::DownloadUrlSBClient(
download::DownloadItem* item,
DownloadProtectionService* service,
CheckDownloadCallback callback,
const scoped_refptr<SafeBrowsingUIManager>& ui_manager,
const scoped_refptr<SafeBrowsingDatabaseManager>& database_manager)
: … { … }
void DownloadUrlSBClient::OnDownloadDestroyed(
download::DownloadItem* download) { … }
void DownloadUrlSBClient::StartCheck() { … }
bool DownloadUrlSBClient::IsDangerous(SBThreatType threat_type) const { … }
void DownloadUrlSBClient::OnCheckDownloadUrlResult(
const std::vector<GURL>& url_chain,
SBThreatType threat_type) { … }
DownloadUrlSBClient::~DownloadUrlSBClient() { … }
void DownloadUrlSBClient::CheckDone(SBThreatType threat_type) { … }
void DownloadUrlSBClient::ReportMalware(SBThreatType threat_type) { … }
void DownloadUrlSBClient::IdentifyReferrerChain() { … }
void DownloadUrlSBClient::UpdateDownloadCheckStats(SBStatsType stat_type) { … }
void DownloadUrlSBClient::
CreateAndMaybeSendClientSafeBrowsingWarningShownReport(
std::string post_data) { … }
}