| Index: content/browser/download/download_manager_impl.h
|
| diff --git a/content/browser/download/download_manager_impl.h b/content/browser/download/download_manager_impl.h
|
| index d3c5d342b0dd8b6da0fe247be7bd658784ce8858..39534993a87bc68bff8ca57552b61bb6be92adde 100644
|
| --- a/content/browser/download/download_manager_impl.h
|
| +++ b/content/browser/download/download_manager_impl.h
|
| @@ -18,6 +18,7 @@
|
| #include "base/memory/weak_ptr.h"
|
| #include "base/observer_list.h"
|
| #include "base/synchronization/lock.h"
|
| +#include "content/browser/download/download_item_impl.h"
|
| #include "content/browser/download/download_status_updater_delegate.h"
|
| #include "content/common/content_export.h"
|
|
|
| @@ -26,11 +27,12 @@ class DownloadStatusUpdater;
|
|
|
| class CONTENT_EXPORT DownloadManagerImpl
|
| : public DownloadManager,
|
| + public DownloadItemImpl::Delegate,
|
| public DownloadStatusUpdaterDelegate {
|
| public:
|
| DownloadManagerImpl(content::DownloadManagerDelegate* delegate,
|
| - DownloadIdFactory* id_factory,
|
| - DownloadStatusUpdater* status_updater);
|
| + DownloadIdFactory* id_factory,
|
| + DownloadStatusUpdater* status_updater);
|
|
|
| // DownloadManager functions.
|
| virtual void Shutdown() OVERRIDE;
|
| @@ -49,10 +51,6 @@ class CONTENT_EXPORT DownloadManagerImpl
|
| virtual void CancelDownload(int32 download_id) OVERRIDE;
|
| virtual void OnDownloadInterrupted(int32 download_id, int64 size,
|
| InterruptReason reason) OVERRIDE;
|
| - virtual void DownloadCancelledInternal(DownloadItem* download) OVERRIDE;
|
| - virtual void RemoveDownload(int64 download_handle) OVERRIDE;
|
| - virtual bool IsDownloadReadyForCompletion(DownloadItem* download) OVERRIDE;
|
| - virtual void MaybeCompleteDownload(DownloadItem* download) OVERRIDE;
|
| virtual void OnDownloadRenamedToFinalName(int download_id,
|
| const FilePath& full_path,
|
| int uniquifier) OVERRIDE;
|
| @@ -60,7 +58,6 @@ class CONTENT_EXPORT DownloadManagerImpl
|
| const base::Time remove_end) OVERRIDE;
|
| virtual int RemoveDownloads(const base::Time remove_begin) OVERRIDE;
|
| virtual int RemoveAllDownloads() OVERRIDE;
|
| - virtual void DownloadCompleted(int32 download_id) OVERRIDE;
|
| virtual void DownloadUrl(const GURL& url,
|
| const GURL& referrer,
|
| const std::string& referrer_encoding,
|
| @@ -76,29 +73,41 @@ class CONTENT_EXPORT DownloadManagerImpl
|
| std::vector<DownloadPersistentStoreInfo>* entries) OVERRIDE;
|
| virtual void OnItemAddedToPersistentStore(int32 download_id,
|
| int64 db_handle) OVERRIDE;
|
| - virtual void ShowDownloadInBrowser(DownloadItem* download) OVERRIDE;
|
| virtual int InProgressCount() const OVERRIDE;
|
| - virtual content::BrowserContext* BrowserContext() OVERRIDE;
|
| + virtual content::BrowserContext* BrowserContext() const OVERRIDE;
|
| virtual FilePath LastDownloadPath() OVERRIDE;
|
| virtual void CreateDownloadItem(
|
| DownloadCreateInfo* info,
|
| const DownloadRequestHandle& request_handle) OVERRIDE;
|
| + virtual DownloadItem* CreateSavePackageDownloadItem(
|
| + const FilePath& main_file_path,
|
| + const GURL& page_url,
|
| + bool is_otr,
|
| + DownloadItem::Observer* observer) OVERRIDE;
|
| virtual void ClearLastDownloadPath() OVERRIDE;
|
| virtual void FileSelected(const FilePath& path, void* params) OVERRIDE;
|
| virtual void FileSelectionCanceled(void* params) OVERRIDE;
|
| virtual void RestartDownload(int32 download_id) OVERRIDE;
|
| - virtual void MarkDownloadOpened(DownloadItem* download) OVERRIDE;
|
| virtual void CheckForHistoryFilesRemoval() OVERRIDE;
|
| - virtual void CheckForFileRemoval(DownloadItem* download_item) OVERRIDE;
|
| - virtual void AssertQueueStateConsistent(DownloadItem* download) OVERRIDE;
|
| virtual DownloadItem* GetDownloadItem(int id) OVERRIDE;
|
| - virtual void SavePageDownloadStarted(DownloadItem* download) OVERRIDE;
|
| virtual void SavePageDownloadFinished(DownloadItem* download) OVERRIDE;
|
| virtual DownloadItem* GetActiveDownloadItem(int id) OVERRIDE;
|
| virtual content::DownloadManagerDelegate* delegate() const OVERRIDE;
|
| virtual void SetDownloadManagerDelegate(
|
| content::DownloadManagerDelegate* delegate) OVERRIDE;
|
| - virtual DownloadId GetNextId() OVERRIDE;
|
| +
|
| + // Overridden from DownloadItemImpl::Delegate
|
| + // (Note that |BrowserContext| are present in both interfaces.)
|
| + virtual bool ShouldOpenDownload(DownloadItem* item) OVERRIDE;
|
| + virtual bool ShouldOpenFileBasedOnExtension(
|
| + const FilePath& path) OVERRIDE;
|
| + virtual void CheckForFileRemoval(DownloadItem* download_item) OVERRIDE;
|
| + virtual void MaybeCompleteDownload(DownloadItem* download) OVERRIDE;
|
| + virtual void DownloadCancelled(DownloadItem* download) OVERRIDE;
|
| + virtual void DownloadCompleted(DownloadItem* download) OVERRIDE;
|
| + virtual void DownloadOpened(DownloadItem* download) OVERRIDE;
|
| + virtual void DownloadRemoved(DownloadItem* download) OVERRIDE;
|
| + virtual void AssertStateConsistent(DownloadItem* download) const OVERRIDE;
|
|
|
| // Overridden from DownloadStatusUpdaterDelegate:
|
| virtual bool IsDownloadProgressKnown() const OVERRIDE;
|
| @@ -113,7 +122,6 @@ class CONTENT_EXPORT DownloadManagerImpl
|
| // For testing.
|
| friend class DownloadManagerTest;
|
| friend class DownloadTest;
|
| - friend class MockDownloadManager;
|
|
|
| friend class base::RefCountedThreadSafe<
|
| DownloadManagerImpl, content::BrowserThread::DeleteOnUIThread>;
|
| @@ -123,6 +131,17 @@ class CONTENT_EXPORT DownloadManagerImpl
|
|
|
| virtual ~DownloadManagerImpl();
|
|
|
| + // Determine if the download is ready for completion, i.e. has had
|
| + // all data saved, and completed the filename determination and
|
| + // history insertion.
|
| + bool IsDownloadReadyForCompletion(DownloadItem* download);
|
| +
|
| + // Show the download in the browser.
|
| + void ShowDownloadInBrowser(DownloadItem* download);
|
| +
|
| + // Get next download id from factory.
|
| + DownloadId GetNextId();
|
| +
|
| // Called on the FILE thread to check the existence of a downloaded file.
|
| void CheckForFileRemovalOnFileThread(int64 db_handle, const FilePath& path);
|
|
|
|
|