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

Unified Diff: chrome/browser/profiles/profile_impl.cc

Issue 8135017: Refactor downloads into a ProfileKeyedService. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Incorporated comments. Created 9 years, 2 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: chrome/browser/profiles/profile_impl.cc
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
index f3eedcf9fb417acc97713b93bfd68cf442541ffb..180b174fa73b2eae3aa499d5a5c7afa09ea4699c 100644
--- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc
@@ -26,7 +26,8 @@
#include "chrome/browser/content_settings/host_content_settings_map.h"
#include "chrome/browser/custom_handlers/protocol_handler_registry.h"
#include "chrome/browser/defaults.h"
-#include "chrome/browser/download/chrome_download_manager_delegate.h"
+#include "chrome/browser/download/download_service.h"
+#include "chrome/browser/download/download_service_factory.h"
#include "chrome/browser/extensions/extension_devtools_manager.h"
#include "chrome/browser/extensions/extension_error_reporter.h"
#include "chrome/browser/extensions/extension_event_router.h"
@@ -94,7 +95,6 @@
#include "content/browser/appcache/chrome_appcache_service.h"
#include "content/browser/browser_thread.h"
#include "content/browser/chrome_blob_storage_context.h"
-#include "content/browser/download/download_manager.h"
#include "content/browser/file_system/browser_file_system_helper.h"
#include "content/browser/host_zoom_map.h"
#include "content/browser/in_process_webkit/webkit_context.h"
@@ -135,6 +135,8 @@
#include "chrome/browser/chromeos/preferences.h"
#endif
+class DownloadManager;
jam 2011/10/11 19:31:13 this isn't needed
Randy Smith (Not in Mondays) 2011/10/11 20:28:27 Done.
+
using base::Time;
using base::TimeDelta;
@@ -328,7 +330,6 @@ ProfileImpl::ProfileImpl(const FilePath& path,
favicon_service_created_(false),
created_web_data_service_(false),
created_password_store_(false),
- created_download_manager_(false),
start_time_(Time::Now()),
#if defined(OS_WIN)
checked_instant_promo_(false),
@@ -727,14 +728,6 @@ ProfileImpl::~ProfileImpl() {
&webkit_database::DatabaseTracker::Shutdown));
}
- // DownloadManager is lazily created, so check before accessing it.
- if (download_manager_.get()) {
- // The download manager queries the history system and should be shut down
- // before the history is shut down so it can properly cancel all requests.
- download_manager_->Shutdown();
- download_manager_ = NULL;
- }
-
// Password store uses WebDB, shut it down before the WebDB has been shutdown.
if (password_store_.get())
password_store_->Shutdown();
@@ -1301,23 +1294,7 @@ void ProfileImpl::CreatePasswordStore() {
}
DownloadManager* ProfileImpl::GetDownloadManager() {
- if (!created_download_manager_) {
- // In case the delegate has already been set by SetDownloadManagerDelegate.
- if (!download_manager_delegate_.get())
- download_manager_delegate_= new ChromeDownloadManagerDelegate(this);
- scoped_refptr<DownloadManager> dlm(
- new DownloadManager(download_manager_delegate_,
- g_browser_process->download_status_updater()));
- dlm->Init(this);
- download_manager_delegate_->SetDownloadManager(dlm);
- created_download_manager_ = true;
- download_manager_.swap(dlm);
- }
- return download_manager_.get();
-}
-
-bool ProfileImpl::HasCreatedDownloadManager() const {
- return created_download_manager_;
+ return DownloadServiceFactory::GetForProfile(this)->GetDownloadManager();
}
fileapi::FileSystemContext* ProfileImpl::GetFileSystemContext() {
@@ -1761,8 +1738,3 @@ SpellCheckProfile* ProfileImpl::GetSpellCheckProfile() {
spellcheck_profile_.reset(new SpellCheckProfile());
return spellcheck_profile_.get();
}
-
-void ProfileImpl::SetDownloadManagerDelegate(
- ChromeDownloadManagerDelegate* delegate) {
- download_manager_delegate_ = delegate;
-}

Powered by Google App Engine
This is Rietveld 408576698