Index: chrome/browser/download/download_target_determiner_unittest.cc |
diff --git a/chrome/browser/download/download_target_determiner_unittest.cc b/chrome/browser/download/download_target_determiner_unittest.cc |
index 53812ab44cd80554c8380d329f82789700d6c961..08840861cade6b2ba89442c3cc9008bc9b09f606 100644 |
--- a/chrome/browser/download/download_target_determiner_unittest.cc |
+++ b/chrome/browser/download/download_target_determiner_unittest.cc |
@@ -47,6 +47,10 @@ |
#include "extensions/common/extension.h" |
#endif |
+#if defined(OS_ANDROID) |
+#include "content/public/browser/android/download_controller_android.h" |
+#endif |
+ |
using ::testing::AnyNumber; |
using ::testing::Invoke; |
using ::testing::Ref; |
@@ -274,10 +278,18 @@ void DownloadTargetDeterminerTest::SetUp() { |
test_virtual_dir_ = test_download_dir().Append(FILE_PATH_LITERAL("virtual")); |
download_prefs_->SetDownloadPath(test_download_dir()); |
delegate_.SetupDefaults(); |
+#if defined(OS_ANDROID) |
+ content::DownloadControllerAndroid::UseMockControllerForTesting(true); |
+#endif |
} |
void DownloadTargetDeterminerTest::TearDown() { |
download_prefs_.reset(); |
+#if defined(OS_ANDROID) |
+ content::DownloadControllerAndroid::Get()-> |
+ SetApproveFileAccessRequestForTesting(true); |
+ content::DownloadControllerAndroid::UseMockControllerForTesting(false); |
+#endif |
ChromeRenderViewHostTestHarness::TearDown(); |
} |
@@ -1154,6 +1166,30 @@ TEST_F(DownloadTargetDeterminerTest, TargetDeterminer_PromptAlways) { |
arraysize(kPromptingTestCases)); |
} |
+#if defined(OS_ANDROID) |
+TEST_F(DownloadTargetDeterminerTest, |
+ TargetDeterminer_DisapprovePromptForUserPermission) { |
+ const DownloadTestCase kUserPermissionTestCases[] = { |
+ { |
+ // 0: Automatic Safe |
+ AUTOMATIC, |
+ content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, |
+ "http://example.com/foo.txt", "text/plain", |
+ FILE_PATH_LITERAL(""), |
+ |
+ FILE_PATH_LITERAL(""), |
+ DownloadItem::TARGET_DISPOSITION_OVERWRITE, |
+ |
+ EXPECT_LOCAL_PATH |
+ }, |
+ }; |
+ content::DownloadControllerAndroid::Get()-> |
+ SetApproveFileAccessRequestForTesting(false); |
+ RunTestCasesWithActiveItem(kUserPermissionTestCases, |
+ arraysize(kUserPermissionTestCases)); |
+} |
+#endif |
+ |
#if defined(ENABLE_EXTENSIONS) |
// These test cases are run with "Prompt for download" user preference set to |
// true. Automatic extension downloads shouldn't cause prompting. |