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

Unified Diff: content/browser/download/download_manager_impl.cc

Issue 11640007: Make the UI an observer of downloads. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix Android clang build Created 7 years, 10 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: content/browser/download/download_manager_impl.cc
diff --git a/content/browser/download/download_manager_impl.cc b/content/browser/download/download_manager_impl.cc
index 2441a74e8a4c37675b7327d46addb41a3e8a0ec7..895557d5dc76a68a66b7d7ed1a80d5f26d4bbf35 100644
--- a/content/browser/download/download_manager_impl.cc
+++ b/content/browser/download/download_manager_impl.cc
@@ -162,60 +162,62 @@ void EnsureNoPendingDownloadJobsOnFile(bool* result) {
class DownloadItemFactoryImpl : public DownloadItemFactory {
public:
- DownloadItemFactoryImpl() {}
- virtual ~DownloadItemFactoryImpl() {}
-
- virtual DownloadItemImpl* CreatePersistedItem(
- DownloadItemImplDelegate* delegate,
- DownloadId download_id,
- const base::FilePath& current_path,
- const base::FilePath& target_path,
- const std::vector<GURL>& url_chain,
- const GURL& referrer_url,
- const base::Time& start_time,
- const base::Time& end_time,
- int64 received_bytes,
- int64 total_bytes,
- DownloadItem::DownloadState state,
- DownloadDangerType danger_type,
- DownloadInterruptReason interrupt_reason,
- bool opened,
- const net::BoundNetLog& bound_net_log) OVERRIDE {
- return new DownloadItemImpl(
- delegate,
- download_id,
- current_path,
- target_path,
- url_chain,
- referrer_url,
- start_time,
- end_time,
- received_bytes,
- total_bytes,
- state,
- danger_type,
- interrupt_reason,
- opened,
- bound_net_log);
- }
+ DownloadItemFactoryImpl() {}
+ virtual ~DownloadItemFactoryImpl() {}
+
+ virtual DownloadItemImpl* CreatePersistedItem(
+ DownloadItemImplDelegate* delegate,
+ DownloadId download_id,
+ const base::FilePath& current_path,
+ const base::FilePath& target_path,
+ const std::vector<GURL>& url_chain,
+ const GURL& referrer_url,
+ const base::Time& start_time,
+ const base::Time& end_time,
+ int64 received_bytes,
+ int64 total_bytes,
+ DownloadItem::DownloadState state,
+ DownloadDangerType danger_type,
+ DownloadInterruptReason interrupt_reason,
+ bool opened,
+ const net::BoundNetLog& bound_net_log) OVERRIDE {
+ return new DownloadItemImpl(
+ delegate,
+ download_id,
+ current_path,
+ target_path,
+ url_chain,
+ referrer_url,
+ start_time,
+ end_time,
+ received_bytes,
+ total_bytes,
+ state,
+ danger_type,
+ interrupt_reason,
+ opened,
+ bound_net_log);
+ }
- virtual DownloadItemImpl* CreateActiveItem(
- DownloadItemImplDelegate* delegate,
- const DownloadCreateInfo& info,
- const net::BoundNetLog& bound_net_log) OVERRIDE {
+ virtual DownloadItemImpl* CreateActiveItem(
+ DownloadItemImplDelegate* delegate,
+ const DownloadCreateInfo& info,
+ const net::BoundNetLog& bound_net_log) OVERRIDE {
return new DownloadItemImpl(delegate, info, bound_net_log);
- }
+ }
- virtual DownloadItemImpl* CreateSavePageItem(
- DownloadItemImplDelegate* delegate,
- const base::FilePath& path,
- const GURL& url,
- DownloadId download_id,
- const std::string& mime_type,
- const net::BoundNetLog& bound_net_log) OVERRIDE {
- return new DownloadItemImpl(delegate, path, url, download_id,
- mime_type, bound_net_log);
- }
+ virtual DownloadItemImpl* CreateSavePageItem(
+ DownloadItemImplDelegate* delegate,
+ const base::FilePath& path,
+ const GURL& url,
+ DownloadId download_id,
+ const std::string& mime_type,
+ scoped_ptr<DownloadRequestHandleInterface> request_handle,
+ const net::BoundNetLog& bound_net_log) OVERRIDE {
+ return new DownloadItemImpl(delegate, path, url, download_id,
+ mime_type, request_handle.Pass(),
+ bound_net_log);
+ }
};
} // namespace
@@ -458,6 +460,7 @@ DownloadItemImpl* DownloadManagerImpl::CreateSavePackageDownloadItem(
const base::FilePath& main_file_path,
const GURL& page_url,
const std::string& mime_type,
+ scoped_ptr<DownloadRequestHandleInterface> request_handle,
DownloadItem::Observer* observer) {
net::BoundNetLog bound_net_log =
net::BoundNetLog::Make(net_log_, net::NetLog::SOURCE_DOWNLOAD);
@@ -467,6 +470,7 @@ DownloadItemImpl* DownloadManagerImpl::CreateSavePackageDownloadItem(
page_url,
GetNextId(),
mime_type,
+ request_handle.Pass(),
bound_net_log);
download_item->AddObserver(observer);
@@ -475,9 +479,6 @@ DownloadItemImpl* DownloadManagerImpl::CreateSavePackageDownloadItem(
FOR_EACH_OBSERVER(Observer, observers_, OnDownloadCreated(
this, download_item));
- // TODO(asanka): Make the ui an observer.
- ShowDownloadInBrowser(download_item);
-
return download_item;
}
@@ -632,21 +633,6 @@ DownloadItem* DownloadManagerImpl::CreateDownloadItem(
return item;
}
-// TODO(asanka) Move into an observer.
-void DownloadManagerImpl::ShowDownloadInBrowser(DownloadItemImpl* download) {
- // The 'contents' may no longer exist if the user closed the contents before
- // we get this start completion event.
- WebContents* content = download->GetWebContents();
-
- // If the contents no longer exists, we ask the embedder to suggest another
- // contents.
- if (!content && delegate_)
- content = delegate_->GetAlternativeWebContentsToNotifyForDownload();
-
- if (content && content->GetDelegate())
- content->GetDelegate()->OnStartDownload(content, download);
-}
-
int DownloadManagerImpl::InProgressCount() const {
int count = 0;
for (DownloadMap::const_iterator it = downloads_.begin();
« no previous file with comments | « content/browser/download/download_manager_impl.h ('k') | content/browser/download/download_manager_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698