Index: chrome/browser/safe_browsing/download_protection_service.h |
diff --git a/chrome/browser/safe_browsing/download_protection_service.h b/chrome/browser/safe_browsing/download_protection_service.h |
index fbe44d810624941254ed9f45df68b39a492e92f6..213e2a7443eecf4c0ca144ecd003b68c8b9d7564 100644 |
--- a/chrome/browser/safe_browsing/download_protection_service.h |
+++ b/chrome/browser/safe_browsing/download_protection_service.h |
@@ -23,6 +23,7 @@ |
#include "base/macros.h" |
#include "base/memory/ref_counted.h" |
#include "base/supports_user_data.h" |
+#include "chrome/browser/safe_browsing/safe_browsing_navigation_observer_manager.h" |
#include "chrome/browser/safe_browsing/ui_manager.h" |
#include "components/safe_browsing_db/database_manager.h" |
#include "net/url_request/url_request_context_getter.h" |
@@ -287,9 +288,19 @@ class DownloadProtectionService { |
// Returns the URL that will be used for download requests. |
static GURL GetDownloadRequestUrl(); |
+ // If kDownloadAttribution feature is enabled, identify and add referrer chain |
+ // info of a download to ClientDownloadRequest proto. This function also |
+ // records UMA stats of download attribution result. |
+ void AddReferrerChainToClientDownloadRequest( |
+ const GURL& download_url, |
+ content::WebContents* web_contents, |
+ ClientDownloadRequest* out_request); |
+ |
// These pointers may be NULL if SafeBrowsing is disabled. |
scoped_refptr<SafeBrowsingUIManager> ui_manager_; |
scoped_refptr<SafeBrowsingDatabaseManager> database_manager_; |
+ scoped_refptr<SafeBrowsingNavigationObserverManager> |
+ navigation_observer_manager_; |
// The context we use to issue network requests. |
scoped_refptr<net::URLRequestContextGetter> request_context_getter_; |