| Index: chrome/browser/download/download_extension_test.cc
|
| diff --git a/chrome/browser/download/download_extension_test.cc b/chrome/browser/download/download_extension_test.cc
|
| index 1d9f4a47293627fc8b401e55c290adb4bbd5d1dc..15576d4c68a241572c22505cafc333653eacf104 100644
|
| --- a/chrome/browser/download/download_extension_test.cc
|
| +++ b/chrome/browser/download/download_extension_test.cc
|
| @@ -59,21 +59,23 @@ class DownloadExtensionTest : public InProcessBrowserTest {
|
| content::DownloadDangerType danger_type;
|
| };
|
|
|
| + virtual Browser* current_browser() { return browser(); }
|
| +
|
| // InProcessBrowserTest
|
| virtual void SetUpOnMainThread() OVERRIDE {
|
| BrowserThread::PostTask(
|
| BrowserThread::IO, FROM_HERE,
|
| base::Bind(&chrome_browser_net::SetUrlRequestMocksEnabled, true));
|
| InProcessBrowserTest::SetUpOnMainThread();
|
| - ASSERT_TRUE(CreateAndSetDownloadsDirectory(browser()));
|
| - browser()->profile()->GetPrefs()->SetBoolean(prefs::kPromptForDownload,
|
| - false);
|
| + CreateAndSetDownloadsDirectory();
|
| + current_browser()->profile()->GetPrefs()->SetBoolean(
|
| + prefs::kPromptForDownload, false);
|
| GetDownloadManager()->RemoveAllDownloads();
|
| }
|
|
|
| - DownloadManager* GetDownloadManager() {
|
| + virtual DownloadManager* GetDownloadManager() {
|
| DownloadService* download_service =
|
| - DownloadServiceFactory::GetForProfile(browser()->profile());
|
| + DownloadServiceFactory::GetForProfile(current_browser()->profile());
|
| return download_service->GetDownloadManager();
|
| }
|
|
|
| @@ -124,7 +126,7 @@ class DownloadExtensionTest : public InProcessBrowserTest {
|
| CreateInProgressDownloadObserver(1));
|
| GURL slow_download_url(URLRequestSlowDownloadJob::kUnknownSizeUrl);
|
| ui_test_utils::NavigateToURLWithDisposition(
|
| - browser(), slow_download_url, CURRENT_TAB,
|
| + current_browser(), slow_download_url, CURRENT_TAB,
|
| ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION);
|
| observer->WaitForFinished();
|
| EXPECT_EQ(
|
| @@ -147,7 +149,7 @@ class DownloadExtensionTest : public InProcessBrowserTest {
|
| return NULL;
|
|
|
| ui_test_utils::NavigateToURLWithDisposition(
|
| - browser(), slow_download_url, CURRENT_TAB,
|
| + current_browser(), slow_download_url, CURRENT_TAB,
|
| ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION);
|
|
|
| observer->WaitForFinished();
|
| @@ -176,7 +178,7 @@ class DownloadExtensionTest : public InProcessBrowserTest {
|
| CreateDownloadObserver(1));
|
| GURL finish_url(URLRequestSlowDownloadJob::kFinishDownloadUrl);
|
| ui_test_utils::NavigateToURLWithDisposition(
|
| - browser(), finish_url, NEW_FOREGROUND_TAB,
|
| + current_browser(), finish_url, NEW_FOREGROUND_TAB,
|
| ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION);
|
| observer->WaitForFinished();
|
| EXPECT_EQ(1u, observer->NumDownloadsSeenInState(DownloadItem::COMPLETE));
|
| @@ -201,19 +203,19 @@ class DownloadExtensionTest : public InProcessBrowserTest {
|
| // ownership of |function|.
|
| scoped_refptr<ExtensionFunction> function_owner(function);
|
| return extension_function_test_utils::RunFunction(
|
| - function, args, browser(), extension_function_test_utils::NONE);
|
| + function, args, current_browser(), extension_function_test_utils::NONE);
|
| }
|
|
|
| base::Value* RunFunctionAndReturnResult(UIThreadExtensionFunction* function,
|
| const std::string& args) {
|
| return extension_function_test_utils::RunFunctionAndReturnResult(
|
| - function, args, browser(), extension_function_test_utils::NONE);
|
| + function, args, current_browser(), extension_function_test_utils::NONE);
|
| }
|
|
|
| std::string RunFunctionAndReturnError(UIThreadExtensionFunction* function,
|
| const std::string& args) {
|
| return extension_function_test_utils::RunFunctionAndReturnError(
|
| - function, args, browser(), extension_function_test_utils::NONE);
|
| + function, args, current_browser(), extension_function_test_utils::NONE);
|
| }
|
|
|
| bool RunFunctionAndReturnString(UIThreadExtensionFunction* function,
|
| @@ -256,18 +258,30 @@ class DownloadExtensionTest : public InProcessBrowserTest {
|
| }
|
|
|
| private:
|
| - bool CreateAndSetDownloadsDirectory(Browser* browser) {
|
| - if (!downloads_directory_.CreateUniqueTempDir())
|
| - return false;
|
| - browser->profile()->GetPrefs()->SetFilePath(
|
| + void CreateAndSetDownloadsDirectory() {
|
| + CHECK(downloads_directory_.CreateUniqueTempDir());
|
| + current_browser()->profile()->GetPrefs()->SetFilePath(
|
| prefs::kDownloadDefaultDirectory,
|
| downloads_directory_.path());
|
| - return true;
|
| }
|
|
|
| ScopedTempDir downloads_directory_;
|
| };
|
|
|
| +class DownloadExtensionTestIncognito : public DownloadExtensionTest {
|
| + public:
|
| + virtual Browser* current_browser() OVERRIDE { return incognito_browser_; }
|
| +
|
| + virtual void SetUpOnMainThread() OVERRIDE {
|
| + incognito_browser_ = CreateIncognitoBrowser();
|
| + CHECK(current_browser()->profile()->IsOffTheRecord());
|
| + DownloadExtensionTest::SetUpOnMainThread();
|
| + }
|
| +
|
| + private:
|
| + Browser* incognito_browser_;
|
| +};
|
| +
|
| class MockIconExtractorImpl : public DownloadFileIconExtractor {
|
| public:
|
| MockIconExtractorImpl(const FilePath& path, IconLoader::IconSize icon_size,
|
| @@ -786,3 +800,29 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest, DownloadsApi_SearchPlural) {
|
| ASSERT_TRUE(item_value->GetString("filename", &item_name));
|
| ASSERT_EQ(items[2]->GetFullPath().value(), item_name);
|
| }
|
| +
|
| +IN_PROC_BROWSER_TEST_F(DownloadExtensionTestIncognito,
|
| + DownloadsApi_SearchIncognitoOnly) {
|
| + ScopedCancellingItem item(CreateSlowTestDownload());
|
| + ASSERT_TRUE(item.get());
|
| +
|
| + scoped_ptr<base::Value> result(RunFunctionAndReturnResult(
|
| + new DownloadsSearchFunction(), "[{\"incognito\": \"only\"}]"));
|
| + ASSERT_TRUE(result.get());
|
| + base::ListValue* result_list = NULL;
|
| + ASSERT_TRUE(result->GetAsList(&result_list));
|
| + ASSERT_EQ(1UL, result_list->GetSize());
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(DownloadExtensionTestIncognito,
|
| + DownloadsApi_SearchIncognitoNone) {
|
| + ScopedCancellingItem item(CreateSlowTestDownload());
|
| + ASSERT_TRUE(item.get());
|
| +
|
| + scoped_ptr<base::Value> result(RunFunctionAndReturnResult(
|
| + new DownloadsSearchFunction(), "[{\"incognito\": \"none\"}]"));
|
| + ASSERT_TRUE(result.get());
|
| + base::ListValue* result_list = NULL;
|
| + ASSERT_TRUE(result->GetAsList(&result_list));
|
| + ASSERT_EQ(0UL, result_list->GetSize());
|
| +}
|
|
|