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

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

Issue 10915180: Make DownloadHistory observe manager, items (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: @r166419 Created 8 years, 1 month 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.h
diff --git a/chrome/browser/download/chrome_download_manager_delegate.h b/chrome/browser/download/chrome_download_manager_delegate.h
index 2cadbe92e5b1a1d19ba4ddfb9a7caf5fcc0edfb8..af365c57a2716c28aa09342884831c2afa3544d7 100644
--- a/chrome/browser/download/chrome_download_manager_delegate.h
+++ b/chrome/browser/download/chrome_download_manager_delegate.h
@@ -9,16 +9,16 @@
#include "base/hash_tables.h"
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
-#include "base/memory/weak_ptr.h"
-#include "chrome/browser/safe_browsing/download_protection_service.h"
+#include "chrome/browser/common/cancelable_request.h"
#include "chrome/browser/download/download_path_reservation_tracker.h"
+#include "chrome/browser/history/history.h"
+#include "chrome/browser/safe_browsing/download_protection_service.h"
#include "content/public/browser/download_danger_type.h"
#include "content/public/browser/download_item.h"
#include "content/public/browser/download_manager_delegate.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
-class DownloadHistory;
class DownloadPrefs;
class ExtensionDownloadsEventRouter;
class Profile;
@@ -57,7 +57,7 @@ class ChromeDownloadManagerDelegate
void SetDownloadManager(content::DownloadManager* dm);
- // Should be called before the call to ShouldCompleteDownload() to
+ // Should be called before the first call to ShouldCompleteDownload() to
// disable SafeBrowsing checks for |item|.
static void DisableSafeBrowsing(content::DownloadItem* item);
@@ -75,17 +75,6 @@ class ChromeDownloadManagerDelegate
const base::Closure& complete_callback) OVERRIDE;
virtual bool ShouldOpenDownload(content::DownloadItem* item) OVERRIDE;
virtual bool GenerateFileHash() OVERRIDE;
- virtual void AddItemToPersistentStore(content::DownloadItem* item) OVERRIDE;
- virtual void UpdateItemInPersistentStore(
- content::DownloadItem* item) OVERRIDE;
- virtual void UpdatePathForItemInPersistentStore(
- content::DownloadItem* item,
- const FilePath& new_path) OVERRIDE;
- virtual void RemoveItemFromPersistentStore(
- content::DownloadItem* item) OVERRIDE;
- virtual void RemoveItemsFromPersistentStoreBetween(
- base::Time remove_begin,
- base::Time remove_end) OVERRIDE;
virtual void GetSaveDir(content::BrowserContext* browser_context,
FilePath* website_save_dir,
FilePath* download_save_dir,
@@ -102,7 +91,6 @@ class ChromeDownloadManagerDelegate
void ClearLastDownloadPath();
DownloadPrefs* download_prefs() { return download_prefs_.get(); }
- DownloadHistory* download_history() { return download_history_.get(); }
protected:
// So that test classes can inherit from this for override purposes.
@@ -163,17 +151,26 @@ class ChromeDownloadManagerDelegate
int32 download_id,
safe_browsing::DownloadProtectionService::DownloadCheckResult result);
+ struct VisitedReferrerBeforeDoneParameters {
Randy Smith (Not in Mondays) 2012/11/07 21:10:29 Oh, I wish we didn't have to do this :-{.
benjhayden 2012/11/08 18:57:03 Be careful what you wish for. I changed this back
+ VisitedReferrerBeforeDoneParameters();
+ ~VisitedReferrerBeforeDoneParameters();
+ int32 download_id;
+ content::DownloadTargetCallback callback;
+ content::DownloadDangerType danger_type;
+ };
Randy Smith (Not in Mondays) 2012/11/07 21:10:29 Style guide nit: http://google-styleguide.googleco
benjhayden 2012/11/08 18:57:03 Moot.
+
// Callback function after we check whether the referrer URL has been visited
// before today. Determines the danger state of the download based on the file
- // type and |visited_referrer_before|. Generates a target path for the
- // download. Invokes |DownloadPathReservationTracker::GetReservedPath| to get
- // a reserved path for the download. The path is then passed into
+ // type, |found_visits|, |count|, |first_visit|. Generates a target path for
+ // the download. Invokes |DownloadPathReservationTracker::GetReservedPath| to
+ // get a reserved path for the download. The path is then passed into
// OnPathReservationAvailable().
void CheckVisitedReferrerBeforeDone(
- int32 download_id,
- const content::DownloadTargetCallback& callback,
- content::DownloadDangerType danger_type,
- bool visited_referrer_before);
+ const VisitedReferrerBeforeDoneParameters& params,
+ HistoryService::Handle unused_handle,
+ bool found_visits,
+ int count,
+ base::Time first_visit);
#if defined (OS_CHROMEOS)
// DriveDownloadObserver::SubstituteDriveDownloadPath callback. Calls
@@ -213,9 +210,6 @@ class ChromeDownloadManagerDelegate
content::DownloadDangerType danger_type,
const FilePath& target_path);
- // Callback from history system.
- void OnItemAddedToPersistentStore(int32 download_id, int64 db_handle);
-
// Check policy of whether we should open this download with a web intents
// dispatch.
bool ShouldOpenWithWebIntents(const content::DownloadItem* item);
@@ -234,12 +228,13 @@ class ChromeDownloadManagerDelegate
Profile* profile_;
int next_download_id_;
scoped_ptr<DownloadPrefs> download_prefs_;
- scoped_ptr<DownloadHistory> download_history_;
// Maps from pending extension installations to DownloadItem IDs.
typedef base::hash_map<extensions::CrxInstaller*, int> CrxInstallerMap;
CrxInstallerMap crx_installers_;
+ CancelableRequestConsumer history_consumer_;
+
content::NotificationRegistrar registrar_;
// On Android, GET downloads are not handled by the DownloadManager.

Powered by Google App Engine
This is Rietveld 408576698