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

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

Issue 9425014: Fix most of the downloads api in incognito profiles (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: " Created 8 years, 8 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_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());
+}

Powered by Google App Engine
This is Rietveld 408576698