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

Unified Diff: chrome/browser/download/download_browsertest.cc

Issue 8135017: Refactor downloads into a ProfileKeyedService. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Incorporated latest rounds of comments from John. 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/download/download_browsertest.cc
diff --git a/chrome/browser/download/download_browsertest.cc b/chrome/browser/download/download_browsertest.cc
index a6265d5bf87f6ea7b66092de7bf38dc237f61be2..1270e508adb0e65ac584dda059f4677bae17dcb3 100644
--- a/chrome/browser/download/download_browsertest.cc
+++ b/chrome/browser/download/download_browsertest.cc
@@ -17,6 +17,8 @@
#include "chrome/browser/download/download_crx_util.h"
#include "chrome/browser/download/download_history.h"
#include "chrome/browser/download/download_prefs.h"
+#include "chrome/browser/download/download_service.h"
+#include "chrome/browser/download/download_service_factory.h"
#include "chrome/browser/download/download_shelf.h"
#include "chrome/browser/download/download_util.h"
#include "chrome/browser/extensions/extension_install_ui.h"
@@ -498,7 +500,8 @@ class PickSuggestedFileDelegate : public ChromeDownloadManagerDelegate {
public:
explicit PickSuggestedFileDelegate(Profile* profile)
: ChromeDownloadManagerDelegate(profile) {
- SetDownloadManager(profile->GetDownloadManager());
+ SetDownloadManager(
+ DownloadServiceFactory::GetForProfile(profile)->GetDownloadManager());
}
virtual void ChooseDownloadPath(TabContents* tab_contents,
@@ -594,6 +597,11 @@ class MockAutoConfirmExtensionInstallUI : public ExtensionInstallUI {
virtual void OnInstallFailure(const std::string& error) {}
};
+static DownloadManager* DownloadManagerForBrowser(Browser* browser) {
+ return DownloadServiceFactory::GetForProfile(browser->profile())
+ ->GetDownloadManager();
+}
+
} // namespace
// While an object of this class exists, it will mock out download
@@ -666,7 +674,7 @@ class DownloadTest : public InProcessBrowserTest {
browser()->profile()->GetPrefs()->SetBoolean(prefs::kPromptForDownload,
prompt_for_download);
- DownloadManager* manager = browser()->profile()->GetDownloadManager();
+ DownloadManager* manager = DownloadManagerForBrowser(browser());
DownloadPrefs::FromDownloadManager(manager)->ResetAutoOpen();
manager->RemoveAllDownloads();
@@ -710,7 +718,7 @@ class DownloadTest : public InProcessBrowserTest {
DownloadPrefs* GetDownloadPrefs(Browser* browser) {
return DownloadPrefs::FromDownloadManager(
- browser->profile()->GetDownloadManager());
+ DownloadManagerForBrowser(browser));
}
FilePath GetDownloadDirectory(Browser* browser) {
@@ -720,8 +728,7 @@ class DownloadTest : public InProcessBrowserTest {
// Create a DownloadsObserver that will wait for the
// specified number of downloads to finish.
DownloadsObserver* CreateWaiter(Browser* browser, int num_downloads) {
- DownloadManager* download_manager =
- browser->profile()->GetDownloadManager();
+ DownloadManager* download_manager = DownloadManagerForBrowser(browser);
return new DownloadsObserver(
download_manager, num_downloads,
DownloadItem::COMPLETE, // Really done
@@ -733,8 +740,7 @@ class DownloadTest : public InProcessBrowserTest {
// specified number of downloads to start.
DownloadsObserver* CreateInProgressWaiter(Browser* browser,
int num_downloads) {
- DownloadManager* download_manager =
- browser->profile()->GetDownloadManager();
+ DownloadManager* download_manager = DownloadManagerForBrowser(browser);
return new DownloadsObserver(
download_manager, num_downloads,
DownloadItem::IN_PROGRESS, // Has started
@@ -750,8 +756,7 @@ class DownloadTest : public InProcessBrowserTest {
int num_downloads,
DownloadItem::DownloadState final_state,
DangerousDownloadAction dangerous_download_action) {
- DownloadManager* download_manager =
- browser->profile()->GetDownloadManager();
+ DownloadManager* download_manager = DownloadManagerForBrowser(browser);
return new DownloadsObserver(
download_manager, num_downloads,
final_state,
@@ -911,7 +916,7 @@ class DownloadTest : public InProcessBrowserTest {
void GetDownloads(Browser* browser, std::vector<DownloadItem*>* downloads) {
DCHECK(downloads);
- DownloadManager* manager = browser->profile()->GetDownloadManager();
+ DownloadManager* manager = DownloadManagerForBrowser(browser);
manager->SearchDownloads(string16(), downloads);
}
@@ -973,13 +978,9 @@ class DownloadTest : public InProcessBrowserTest {
PickSuggestedFileDelegate* new_delegate =
new PickSuggestedFileDelegate(browser->profile());
- DownloadManager* manager = browser->profile()->GetDownloadManager();
-
- new_delegate->SetDownloadManager(manager);
- manager->set_delegate(new_delegate);
-
- // Gives ownership to Profile.
- browser->profile()->SetDownloadManagerDelegate(new_delegate);
+ // Gives ownership to DownloadService.
+ DownloadServiceFactory::GetForProfile(
+ browser->profile())->SetDownloadManagerDelegateForTesting(new_delegate);
}
private:
@@ -1046,7 +1047,7 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadMimeTypeSelect) {
// due to the MIME type, but we still wait until the download completes.
scoped_ptr<DownloadsObserver> observer(
new DownloadsObserver(
- browser()->profile()->GetDownloadManager(),
+ DownloadManagerForBrowser(browser()),
1,
DownloadItem::COMPLETE, // Really done
false, // Continue on select file.
@@ -1491,7 +1492,7 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadCancelled) {
observer->WaitForFinished();
std::vector<DownloadItem*> downloads;
- browser()->profile()->GetDownloadManager()->SearchDownloads(
+ DownloadManagerForBrowser(browser())->SearchDownloads(
string16(), &downloads);
ASSERT_EQ(1u, downloads.size());
ASSERT_EQ(DownloadItem::IN_PROGRESS, downloads[0]->state());
@@ -1500,7 +1501,7 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadCancelled) {
// Cancel the download and wait for download system quiesce.
downloads[0]->Delete(DownloadItem::DELETE_DUE_TO_USER_DISCARD);
scoped_refptr<DownloadsFlushObserver> flush_observer(
- new DownloadsFlushObserver(browser()->profile()->GetDownloadManager()));
+ new DownloadsFlushObserver(DownloadManagerForBrowser(browser())));
flush_observer->WaitForFlush();
// Get the important info from other threads and check it.
@@ -1541,7 +1542,7 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadHistoryCheck) {
// Check history results.
DownloadsHistoryDataCollector history_collector(
db_handle,
- browser()->profile()->GetDownloadManager());
+ DownloadManagerForBrowser(browser()));
DownloadPersistentStoreInfo info;
EXPECT_TRUE(history_collector.GetDownloadsHistoryEntry(&info)) << db_handle;
EXPECT_EQ(file, info.path.BaseName());
@@ -1635,13 +1636,13 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, AutoOpen) {
// Mock out external opening on all downloads until end of test.
MockDownloadOpeningObserver observer(
- browser()->profile()->GetDownloadManager());
+ DownloadManagerForBrowser(browser()));
DownloadAndWait(browser(), url, EXPECT_NO_SELECT_DIALOG);
// Find the download and confirm it was opened.
std::vector<DownloadItem*> downloads;
- browser()->profile()->GetDownloadManager()->SearchDownloads(
+ DownloadManagerForBrowser(browser())->SearchDownloads(
string16(), &downloads);
ASSERT_EQ(1u, downloads.size());
EXPECT_EQ(DownloadItem::COMPLETE, downloads[0]->state());
« no previous file with comments | « chrome/browser/download/chrome_download_manager_delegate.h ('k') | chrome/browser/download/download_crx_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698