| Index: chrome/browser/safe_browsing/download_protection_service.cc
|
| diff --git a/chrome/browser/safe_browsing/download_protection_service.cc b/chrome/browser/safe_browsing/download_protection_service.cc
|
| index f3ae51da85dc28c9b3590e82c0c1f6ccdefc604e..021bd1cc4d2ae4dfb47218d73dce5d2518007abb 100644
|
| --- a/chrome/browser/safe_browsing/download_protection_service.cc
|
| +++ b/chrome/browser/safe_browsing/download_protection_service.cc
|
| @@ -201,9 +201,6 @@ class DownloadUrlSBClient
|
| extended_reporting_level_ =
|
| profile ? GetExtendedReportingLevel(*profile->GetPrefs())
|
| : SBER_LEVEL_OFF;
|
| - download_attribution_enabled_ = service_->navigation_observer_manager() &&
|
| - base::FeatureList::IsEnabled(
|
| - SafeBrowsingNavigationObserverManager::kDownloadAttribution);
|
| }
|
|
|
| // Implements DownloadItem::Observer.
|
| @@ -256,14 +253,13 @@ class DownloadUrlSBClient
|
| UpdateDownloadCheckStats(dangerous_type_);
|
| BrowserThread::PostTask(
|
| BrowserThread::UI, FROM_HERE,
|
| - base::BindOnce(&DownloadUrlSBClient::ReportMalware, this,
|
| - threat_type));
|
| - } else if (download_attribution_enabled_) {
|
| - // Identify download referrer chain, which will be used in
|
| - // ClientDownloadRequest.
|
| - BrowserThread::PostTask(
|
| - BrowserThread::UI, FROM_HERE,
|
| - base::BindOnce(&DownloadUrlSBClient::IdentifyReferrerChain, this));
|
| + base::Bind(&DownloadUrlSBClient::ReportMalware, this, threat_type));
|
| + } else {
|
| + // Identify download referrer chain, which will be used in
|
| + // ClientDownloadRequest.
|
| + BrowserThread::PostTask(
|
| + BrowserThread::UI, FROM_HERE,
|
| + base::Bind(&DownloadUrlSBClient::IdentifyReferrerChain, this));
|
| }
|
| BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
|
| base::BindOnce(callback_, result));
|
| @@ -323,7 +319,6 @@ class DownloadUrlSBClient
|
| DownloadProtectionService::CheckDownloadCallback callback_;
|
| scoped_refptr<SafeBrowsingUIManager> ui_manager_;
|
| base::TimeTicks start_time_;
|
| - bool download_attribution_enabled_;
|
| const SBStatsType total_type_;
|
| const SBStatsType dangerous_type_;
|
| ExtendedReportingLevel extended_reporting_level_;
|
| @@ -1043,12 +1038,10 @@ class DownloadProtectionService::CheckClientDownloadRequest
|
| ReferrerChainData* referrer_chain_data =
|
| static_cast<ReferrerChainData*>(
|
| item_->GetUserData(kDownloadReferrerChainDataKey));
|
| - if (referrer_chain_data) {
|
| - request.set_download_attribution_finch_enabled(true);
|
| - if (!referrer_chain_data->GetReferrerChain()->empty()) {
|
| - request.mutable_referrer_chain()->Swap(
|
| - referrer_chain_data->GetReferrerChain());
|
| - }
|
| + if (referrer_chain_data &&
|
| + !referrer_chain_data->GetReferrerChain()->empty()) {
|
| + request.mutable_referrer_chain()->Swap(
|
| + referrer_chain_data->GetReferrerChain());
|
| }
|
|
|
| if (archive_is_valid_ != ArchiveValid::UNSET)
|
| @@ -1666,7 +1659,8 @@ class DownloadProtectionService::PPAPIDownloadRequest
|
|
|
| DownloadProtectionService::DownloadProtectionService(
|
| SafeBrowsingService* sb_service)
|
| - : request_context_getter_(sb_service ? sb_service->url_request_context()
|
| + : navigation_observer_manager_(nullptr),
|
| + request_context_getter_(sb_service ? sb_service->url_request_context()
|
| : nullptr),
|
| enabled_(false),
|
| binary_feature_extractor_(new BinaryFeatureExtractor()),
|
| @@ -1949,6 +1943,11 @@ GURL DownloadProtectionService::GetDownloadRequestUrl() {
|
| std::unique_ptr<ReferrerChain> DownloadProtectionService::IdentifyReferrerChain(
|
| const GURL& download_url,
|
| content::WebContents* web_contents) {
|
| + // If navigation_observer_manager_ is null, return immediately. This could
|
| + // happen in tests.
|
| + if (!navigation_observer_manager_)
|
| + return nullptr;
|
| +
|
| std::unique_ptr<ReferrerChain> referrer_chain =
|
| base::MakeUnique<ReferrerChain>();
|
| int download_tab_id = SessionTabHelper::IdForTab(web_contents);
|
| @@ -1987,11 +1986,8 @@ void DownloadProtectionService::AddReferrerChainToPPAPIClientDownloadRequest(
|
| int tab_id,
|
| bool has_user_gesture,
|
| ClientDownloadRequest* out_request) {
|
| - if (!base::FeatureList::IsEnabled(
|
| - SafeBrowsingNavigationObserverManager::kDownloadAttribution) ||
|
| - !navigation_observer_manager_) {
|
| + if (!navigation_observer_manager_)
|
| return;
|
| - }
|
|
|
| UMA_HISTOGRAM_BOOLEAN(
|
| "SafeBrowsing.ReferrerHasInvalidTabID.DownloadAttribution",
|
| @@ -2007,7 +2003,6 @@ void DownloadProtectionService::AddReferrerChainToPPAPIClientDownloadRequest(
|
| UMA_HISTOGRAM_ENUMERATION(
|
| "SafeBrowsing.ReferrerAttributionResult.PPAPIDownloadAttribution", result,
|
| SafeBrowsingNavigationObserverManager::ATTRIBUTION_FAILURE_TYPE_MAX);
|
| - out_request->set_download_attribution_finch_enabled(true);
|
| }
|
|
|
| } // namespace safe_browsing
|
|
|