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

Side by Side Diff: chrome/browser/download/download_history.h

Issue 230103002: [Downloads] Ask DownloadHistory if a download was from history. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_DOWNLOAD_DOWNLOAD_HISTORY_H_ 5 #ifndef CHROME_BROWSER_DOWNLOAD_DOWNLOAD_HISTORY_H_
6 #define CHROME_BROWSER_DOWNLOAD_DOWNLOAD_HISTORY_H_ 6 #define CHROME_BROWSER_DOWNLOAD_DOWNLOAD_HISTORY_H_
7 7
8 #include <set> 8 #include <set>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 const history::DownloadRow& info) {} 60 const history::DownloadRow& info) {}
61 61
62 // Fires when RemoveDownloads messages are sent to the DB thread. 62 // Fires when RemoveDownloads messages are sent to the DB thread.
63 virtual void OnDownloadsRemoved(const IdSet& ids) {} 63 virtual void OnDownloadsRemoved(const IdSet& ids) {}
64 64
65 // Fires when the DownloadHistory is being destroyed so that implementors 65 // Fires when the DownloadHistory is being destroyed so that implementors
66 // can RemoveObserver() and nullify their DownloadHistory*s. 66 // can RemoveObserver() and nullify their DownloadHistory*s.
67 virtual void OnDownloadHistoryDestroyed() {} 67 virtual void OnDownloadHistoryDestroyed() {}
68 }; 68 };
69 69
70 // Returns true if the item is persisted. 70 // Returns true if the download is persisted. Not reliable when called from
71 static bool IsPersisted(content::DownloadItem* item); 71 // within a DownloadManager::Observer::OnDownloadCreated handler since the
72 // persisted state may not have been updated yet a download that were restored
Randy Smith (Not in Mondays) 2014/04/10 18:03:23 nit: "yet *for* a download"?
asanka 2014/04/17 21:16:10 Done.
73 // from history.
74 static bool IsPersisted(const content::DownloadItem* item);
72 75
73 // Neither |manager| nor |history| may be NULL. 76 // Neither |manager| nor |history| may be NULL.
74 // DownloadService creates DownloadHistory some time after DownloadManager is 77 // DownloadService creates DownloadHistory some time after DownloadManager is
75 // created and destroys DownloadHistory as DownloadManager is shutting down. 78 // created and destroys DownloadHistory as DownloadManager is shutting down.
76 DownloadHistory( 79 DownloadHistory(
77 content::DownloadManager* manager, 80 content::DownloadManager* manager,
78 scoped_ptr<HistoryAdapter> history); 81 scoped_ptr<HistoryAdapter> history);
79 82
80 virtual ~DownloadHistory(); 83 virtual ~DownloadHistory();
81 84
82 void AddObserver(Observer* observer); 85 void AddObserver(Observer* observer);
83 void RemoveObserver(Observer* observer); 86 void RemoveObserver(Observer* observer);
84 87
88 // Returns true if the download was restored from history. Safe to call from
89 // within a DownloadManager::Observer::OnDownloadCreated handler and can be
90 // used to distinguish between downloads that were created due to new requests
91 // vs. downloads that were created due to being restored from history. Note
92 // that the return value is only reliable for downloads that were restored by
93 // this specific DownloadHistory instance.
Randy Smith (Not in Mondays) 2014/04/10 18:03:23 Hmmm. Not relevant for this CL, but I'm inclined
asanka 2014/04/17 21:16:10 Yeah. Currently there's nothing that prevents mult
94 bool WasRestoredFromHistory(const content::DownloadItem* item) const;
95
85 private: 96 private:
86 typedef std::set<content::DownloadItem*> ItemSet; 97 typedef std::set<content::DownloadItem*> ItemSet;
87 98
88 // Callback from |history_| containing all entries in the downloads database 99 // Callback from |history_| containing all entries in the downloads database
89 // table. 100 // table.
90 void QueryCallback( 101 void QueryCallback(
91 scoped_ptr<std::vector<history::DownloadRow> > infos); 102 scoped_ptr<std::vector<history::DownloadRow> > infos);
92 103
93 // May add |item| to |history_|. 104 // May add |item| to |history_|.
94 void MaybeAddToHistory(content::DownloadItem* item); 105 void MaybeAddToHistory(content::DownloadItem* item);
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 int64 history_size_; 149 int64 history_size_;
139 150
140 ObserverList<Observer> observers_; 151 ObserverList<Observer> observers_;
141 152
142 base::WeakPtrFactory<DownloadHistory> weak_ptr_factory_; 153 base::WeakPtrFactory<DownloadHistory> weak_ptr_factory_;
143 154
144 DISALLOW_COPY_AND_ASSIGN(DownloadHistory); 155 DISALLOW_COPY_AND_ASSIGN(DownloadHistory);
145 }; 156 };
146 157
147 #endif // CHROME_BROWSER_DOWNLOAD_DOWNLOAD_HISTORY_H_ 158 #endif // CHROME_BROWSER_DOWNLOAD_DOWNLOAD_HISTORY_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/download/download_history.cc » ('j') | chrome/browser/download/download_ui_controller.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698