Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #include "chrome/browser/download/download_prefs.h" | 5 #include "chrome/browser/download/download_prefs.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/file_util.h" | 8 #include "base/file_util.h" |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/string_split.h" | 10 #include "base/string_split.h" |
| 11 #include "base/string_util.h" | 11 #include "base/string_util.h" |
| 12 #include "base/sys_string_conversions.h" | 12 #include "base/sys_string_conversions.h" |
| 13 #include "base/task.h" | 13 #include "base/task.h" |
| 14 #include "base/utf_string_conversions.h" | 14 #include "base/utf_string_conversions.h" |
| 15 #include "chrome/browser/download/chrome_download_manager_delegate.h" | 15 #include "chrome/browser/download/chrome_download_manager_delegate.h" |
| 16 #include "chrome/browser/download/download_extensions.h" | 16 #include "chrome/browser/download/download_extensions.h" |
| 17 #include "chrome/browser/download/download_service.h" | |
| 17 #include "chrome/browser/download/download_util.h" | 18 #include "chrome/browser/download/download_util.h" |
| 18 #include "chrome/browser/prefs/pref_service.h" | 19 #include "chrome/browser/prefs/pref_service.h" |
| 20 #include "chrome/browser/profiles/profile.h" | |
| 19 #include "chrome/common/pref_names.h" | 21 #include "chrome/common/pref_names.h" |
| 20 #include "content/browser/download/download_manager.h" | 22 #include "content/browser/download/download_manager.h" |
| 21 #include "content/browser/download/save_package.h" | 23 #include "content/browser/download/save_package.h" |
| 22 #include "content/public/browser/browser_thread.h" | 24 #include "content/public/browser/browser_thread.h" |
| 25 #include "chrome/browser/download/download_service_factory.h" | |
| 23 | 26 |
| 24 using content::BrowserThread; | 27 using content::BrowserThread; |
| 25 | 28 |
| 26 DownloadPrefs::DownloadPrefs(PrefService* prefs) : prefs_(prefs) { | 29 DownloadPrefs::DownloadPrefs(PrefService* prefs) : prefs_(prefs) { |
| 27 prompt_for_download_.Init(prefs::kPromptForDownload, prefs, NULL); | 30 prompt_for_download_.Init(prefs::kPromptForDownload, prefs, NULL); |
| 28 download_path_.Init(prefs::kDownloadDefaultDirectory, prefs, NULL); | 31 download_path_.Init(prefs::kDownloadDefaultDirectory, prefs, NULL); |
| 29 save_file_type_.Init(prefs::kSaveFileType, prefs, NULL); | 32 save_file_type_.Init(prefs::kSaveFileType, prefs, NULL); |
| 30 | 33 |
| 31 // We store any file extension that should be opened automatically at | 34 // We store any file extension that should be opened automatically at |
| 32 // download completion in this pref. | 35 // download completion in this pref. |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 95 } | 98 } |
| 96 | 99 |
| 97 // static | 100 // static |
| 98 DownloadPrefs* DownloadPrefs::FromDownloadManager( | 101 DownloadPrefs* DownloadPrefs::FromDownloadManager( |
| 99 DownloadManager* download_manager) { | 102 DownloadManager* download_manager) { |
| 100 ChromeDownloadManagerDelegate* delegate = | 103 ChromeDownloadManagerDelegate* delegate = |
| 101 static_cast<ChromeDownloadManagerDelegate*>(download_manager->delegate()); | 104 static_cast<ChromeDownloadManagerDelegate*>(download_manager->delegate()); |
| 102 return delegate->download_prefs(); | 105 return delegate->download_prefs(); |
| 103 } | 106 } |
| 104 | 107 |
| 108 // static | |
| 109 DownloadPrefs* DownloadPrefs::FromBrowserContext( | |
| 110 content::BrowserContext* browser_context) { | |
| 111 Profile* profile = static_cast<Profile*>(browser_context); | |
| 112 DownloadService* download_service = | |
| 113 DownloadServiceFactory::GetForProfile(profile); | |
| 114 ChromeDownloadManagerDelegate* delegate = | |
|
ahendrickson
2011/11/29 21:40:15
This part should call FromDownloadManager().
Randy Smith (Not in Mondays)
2011/11/30 22:44:05
Ok, but long term I want to get DownloadManager ou
| |
| 115 static_cast<ChromeDownloadManagerDelegate*>( | |
| 116 download_service->GetDownloadManager()->delegate()); | |
| 117 return delegate->download_prefs(); | |
| 118 } | |
| 119 | |
| 105 bool DownloadPrefs::PromptForDownload() const { | 120 bool DownloadPrefs::PromptForDownload() const { |
| 106 // If the DownloadDirectory policy is set, then |prompt_for_download_| should | 121 // If the DownloadDirectory policy is set, then |prompt_for_download_| should |
| 107 // always be false. | 122 // always be false. |
| 108 DCHECK(!download_path_.IsManaged() || !prompt_for_download_.GetValue()); | 123 DCHECK(!download_path_.IsManaged() || !prompt_for_download_.GetValue()); |
| 109 return *prompt_for_download_; | 124 return *prompt_for_download_; |
| 110 } | 125 } |
| 111 | 126 |
| 112 bool DownloadPrefs::IsDownloadPathManaged() const { | 127 bool DownloadPrefs::IsDownloadPathManaged() const { |
| 113 return download_path_.IsManaged(); | 128 return download_path_.IsManaged(); |
| 114 } | 129 } |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 165 extensions.erase(extensions.size() - 1); | 180 extensions.erase(extensions.size() - 1); |
| 166 | 181 |
| 167 prefs_->SetString(prefs::kDownloadExtensionsToOpen, extensions); | 182 prefs_->SetString(prefs::kDownloadExtensionsToOpen, extensions); |
| 168 } | 183 } |
| 169 | 184 |
| 170 bool DownloadPrefs::AutoOpenCompareFunctor::operator()( | 185 bool DownloadPrefs::AutoOpenCompareFunctor::operator()( |
| 171 const FilePath::StringType& a, | 186 const FilePath::StringType& a, |
| 172 const FilePath::StringType& b) const { | 187 const FilePath::StringType& b) const { |
| 173 return FilePath::CompareLessIgnoreCase(a, b); | 188 return FilePath::CompareLessIgnoreCase(a, b); |
| 174 } | 189 } |
| OLD | NEW |