Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1312)

Unified Diff: chrome/browser/download/chrome_download_manager_delegate.cc

Issue 8345033: Collect some histograms about signed binary downloads. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/download/chrome_download_manager_delegate.cc
===================================================================
--- chrome/browser/download/chrome_download_manager_delegate.cc (revision 106761)
+++ chrome/browser/download/chrome_download_manager_delegate.cc (working copy)
@@ -225,8 +225,39 @@
DownloadItem* item,
const FilePath& new_path) {
download_history_->UpdateDownloadPath(item, new_path);
+
Randy Smith (Not in Mondays) 2011/10/22 17:08:07 Can we localize the safebrowsing code in this file
+#if defined(ENABLE_SAFE_BROWSING)
+ // Begin the safe browsing download protection check.
+ SafeBrowsingService* sb_service = g_browser_process->safe_browsing_service();
+ if (sb_service && sb_service->download_protection_service()) {
+ safe_browsing::DownloadProtectionService::DownloadInfo download_info;
+ download_info.local_file = new_path;
+ download_info.download_url_chain = item->url_chain();
+ download_info.referrer_url = item->referrer_url();
+ // TODO(bryner): Fill in the hash (we shouldn't compute it again)
+ download_info.total_bytes = item->total_bytes();
+ // TODO(bryner): Populate user_initiated
+ if (sb_service->download_protection_service()->CheckClientDownload(
+ download_info, base::Bind(
+ &ChromeDownloadManagerDelegate::CheckClientDownloadDone,
+ this, item))) {
+ CheckClientDownloadDone(item,
+ safe_browsing::DownloadProtectionService::SAFE);
+ } // otherwise we will be notified asynchronously
+ }
+#else
+ // Assume safe.
+ CheckClientDownloadDone(item,
+ safe_browsing::DownloadProtectionService::SAFE);
+#endif
}
+void ChromeDownloadManagerDelegate::CheckClientDownloadDone(
+ DownloadItem* item,
+ safe_browsing::DownloadProtectionService::DownloadCheckResult result) {
+ // TODO(bryner): notify the user based on this result
+}
+
void ChromeDownloadManagerDelegate::RemoveItemFromPersistentStore(
DownloadItem* item) {
download_history_->RemoveEntry(item);

Powered by Google App Engine
This is Rietveld 408576698