Index: chrome/common/chrome_paths.cc |
diff --git a/chrome/common/chrome_paths.cc b/chrome/common/chrome_paths.cc |
index 6960bf3c61e3bd02a701c4c3d91821208cfcf337..df5df2fa479feaa878185b5847e23e1d9066bc0d 100644 |
--- a/chrome/common/chrome_paths.cc |
+++ b/chrome/common/chrome_paths.cc |
@@ -20,6 +20,7 @@ |
#if defined(OS_ANDROID) |
#include "base/android/path_utils.h" |
+#include "base/base_paths_android.h" |
#endif |
#if defined(OS_MACOSX) |
@@ -434,8 +435,15 @@ bool PathProvider(int key, base::FilePath* result) { |
// will fail if executed from an installed executable (because the |
// generated path won't exist). |
case chrome::DIR_GEN_TEST_DATA: |
+#if defined(OS_ANDROID) |
+ // On Android, our tests don't have permission to write to DIR_MODULE. |
+ // gtest/test_runner.py pushes data to external storage. |
+ if (!PathService::Get(base::DIR_ANDROID_EXTERNAL_STORAGE, &cur)) |
+ return false; |
+#else |
if (!PathService::Get(base::DIR_MODULE, &cur)) |
return false; |
+#endif |
cur = cur.Append(FILE_PATH_LITERAL("test_data")); |
if (!base::PathExists(cur)) // We don't want to create this. |
return false; |