| Index: chrome/browser/download/download_history.h
|
| diff --git a/chrome/browser/download/download_history.h b/chrome/browser/download/download_history.h
|
| index e983c90964ff7cd3ab05215d9787b43e041e9c3f..ea51ab4c43af2c7b9e3f1589d5e91aad3cbb8106 100644
|
| --- a/chrome/browser/download/download_history.h
|
| +++ b/chrome/browser/download/download_history.h
|
| @@ -67,8 +67,11 @@ class DownloadHistory : public AllDownloadItemNotifier::Observer {
|
| virtual void OnDownloadHistoryDestroyed() {}
|
| };
|
|
|
| - // Returns true if the item is persisted.
|
| - static bool IsPersisted(content::DownloadItem* item);
|
| + // Returns true if the download is persisted. Not reliable when called from
|
| + // within a DownloadManager::Observer::OnDownloadCreated handler since the
|
| + // persisted state may not yet have been updated for a download that was
|
| + // restored from history.
|
| + static bool IsPersisted(const content::DownloadItem* item);
|
|
|
| // Neither |manager| nor |history| may be NULL.
|
| // DownloadService creates DownloadHistory some time after DownloadManager is
|
| @@ -82,6 +85,14 @@ class DownloadHistory : public AllDownloadItemNotifier::Observer {
|
| void AddObserver(Observer* observer);
|
| void RemoveObserver(Observer* observer);
|
|
|
| + // Returns true if the download was restored from history. Safe to call from
|
| + // within a DownloadManager::Observer::OnDownloadCreated handler and can be
|
| + // used to distinguish between downloads that were created due to new requests
|
| + // vs. downloads that were created due to being restored from history. Note
|
| + // that the return value is only reliable for downloads that were restored by
|
| + // this specific DownloadHistory instance.
|
| + bool WasRestoredFromHistory(const content::DownloadItem* item) const;
|
| +
|
| private:
|
| typedef std::set<content::DownloadItem*> ItemSet;
|
|
|
|
|