Commit 04727b6b authored by kinaba@chromium.org's avatar kinaba@chromium.org

Move out Drive cache file path constants outside of file_system_util.h.

The path constants are internal implementation details, so they should not be in the publicly used header "file_system_util.h".

They were in the common header for sharing the path constants between tests and the production code, but there's no unavoidable reason that tests have to run on that path.

BUG=258726

Review URL: https://chromiumcodereview.appspot.com/23462021

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@221996 0039d316-1c4b-4281-b951-d872f2087c98
parent d6d62c46
......@@ -47,6 +47,17 @@ using content::BrowserThread;
namespace drive {
namespace {
// Name of the directory used to store metadata.
const base::FilePath::CharType kMetadataDirectory[] = FILE_PATH_LITERAL("meta");
// Name of the directory used to store cached files.
const base::FilePath::CharType kCacheFileDirectory[] =
FILE_PATH_LITERAL("files");
// Name of the directory used to store temporary files.
const base::FilePath::CharType kTemporaryFileDirectory[] =
FILE_PATH_LITERAL("tmp");
// Returns a user agent string used for communicating with the Drive backend,
// both WAPI and Drive API. The user agent looks like:
//
......@@ -84,11 +95,11 @@ FileError InitializeMetadata(
internal::FileCache* cache,
internal::ResourceMetadata* resource_metadata) {
if (!file_util::CreateDirectory(cache_root_directory.Append(
util::kMetadataDirectory)) ||
kMetadataDirectory)) ||
!file_util::CreateDirectory(cache_root_directory.Append(
util::kCacheFileDirectory)) ||
kCacheFileDirectory)) ||
!file_util::CreateDirectory(cache_root_directory.Append(
util::kTemporaryFileDirectory))) {
kTemporaryFileDirectory))) {
LOG(WARNING) << "Failed to create directories.";
return FILE_ERROR_FAILED;
}
......@@ -96,12 +107,13 @@ FileError InitializeMetadata(
// Change permissions of cache file directory to u+rwx,og+x (711) in order to
// allow archive files in that directory to be mounted by cros-disks.
file_util::SetPosixFilePermissions(
cache_root_directory.Append(util::kCacheFileDirectory),
cache_root_directory.Append(kCacheFileDirectory),
file_util::FILE_PERMISSION_USER_MASK |
file_util::FILE_PERMISSION_EXECUTE_BY_GROUP |
file_util::FILE_PERMISSION_EXECUTE_BY_OTHERS);
util::MigrateCacheFilesFromOldDirectories(cache_root_directory);
util::MigrateCacheFilesFromOldDirectories(cache_root_directory,
kCacheFileDirectory);
if (!metadata_storage->Initialize()) {
LOG(WARNING) << "Failed to initialize the metadata storage.";
......@@ -165,11 +177,11 @@ DriveIntegrationService::DriveIntegrationService(
drive_service_.get(),
blocking_task_runner_.get()));
metadata_storage_.reset(new internal::ResourceMetadataStorage(
cache_root_directory_.Append(util::kMetadataDirectory),
cache_root_directory_.Append(kMetadataDirectory),
blocking_task_runner_.get()));
cache_.reset(new internal::FileCache(
metadata_storage_.get(),
cache_root_directory_.Append(util::kCacheFileDirectory),
cache_root_directory_.Append(kCacheFileDirectory),
blocking_task_runner_.get(),
NULL /* free_disk_space_getter */));
drive_app_registry_.reset(new DriveAppRegistry(scheduler_.get()));
......@@ -185,7 +197,7 @@ DriveIntegrationService::DriveIntegrationService(
scheduler_.get(),
resource_metadata_.get(),
blocking_task_runner_.get(),
cache_root_directory_.Append(util::kTemporaryFileDirectory)));
cache_root_directory_.Append(kTemporaryFileDirectory)));
download_handler_.reset(new DownloadHandler(file_system()));
debug_info_collector_.reset(
new DebugInfoCollector(file_system(), cache_.get()));
......@@ -359,7 +371,7 @@ void DriveIntegrationService::InitializeAfterMetadataInitialized(
BrowserContext::GetDownloadManager(profile_) : NULL;
download_handler_->Initialize(
download_manager,
cache_root_directory_.Append(util::kTemporaryFileDirectory));
cache_root_directory_.Append(kTemporaryFileDirectory));
// Register for Google Drive invalidation notifications.
DriveNotificationManager* drive_notification_manager =
......
......@@ -62,10 +62,11 @@ class FileCacheTestOnUIThread : public testing::Test {
virtual void SetUp() OVERRIDE {
ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
ASSERT_TRUE(file_util::CreateDirectory(
temp_dir_.path().Append(util::kMetadataDirectory)));
ASSERT_TRUE(file_util::CreateDirectory(
temp_dir_.path().Append(util::kCacheFileDirectory)));
const base::FilePath metadata_dir = temp_dir_.path().AppendASCII("meta");
const base::FilePath cache_dir = temp_dir_.path().AppendASCII("files");
ASSERT_TRUE(file_util::CreateDirectory(metadata_dir));
ASSERT_TRUE(file_util::CreateDirectory(cache_dir));
ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(),
&dummy_file_path_));
......@@ -77,7 +78,8 @@ class FileCacheTestOnUIThread : public testing::Test {
pool->GetSequencedTaskRunner(pool->GetSequenceToken());
metadata_storage_.reset(new ResourceMetadataStorage(
temp_dir_.path(), blocking_task_runner_.get()));
metadata_dir,
blocking_task_runner_.get()));
bool success = false;
base::PostTaskAndReplyWithResult(
......@@ -91,7 +93,7 @@ class FileCacheTestOnUIThread : public testing::Test {
cache_.reset(new FileCache(
metadata_storage_.get(),
temp_dir_.path().Append(util::kCacheFileDirectory),
cache_dir,
blocking_task_runner_.get(),
fake_free_disk_space_getter_.get()));
......@@ -798,21 +800,22 @@ class FileCacheTest : public testing::Test {
protected:
virtual void SetUp() OVERRIDE {
ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
ASSERT_TRUE(file_util::CreateDirectory(
temp_dir_.path().Append(util::kMetadataDirectory)));
ASSERT_TRUE(file_util::CreateDirectory(
temp_dir_.path().Append(util::kCacheFileDirectory)));
const base::FilePath metadata_dir = temp_dir_.path().AppendASCII("meta");
const base::FilePath cache_dir = temp_dir_.path().AppendASCII("files");
ASSERT_TRUE(file_util::CreateDirectory(metadata_dir));
ASSERT_TRUE(file_util::CreateDirectory(cache_dir));
fake_free_disk_space_getter_.reset(new FakeFreeDiskSpaceGetter);
metadata_storage_.reset(new ResourceMetadataStorage(
temp_dir_.path().Append(util::kMetadataDirectory),
metadata_dir,
base::MessageLoopProxy::current().get()));
ASSERT_TRUE(metadata_storage_->Initialize());
cache_.reset(new FileCache(
metadata_storage_.get(),
temp_dir_.path().Append(util::kCacheFileDirectory),
cache_dir,
base::MessageLoopProxy::current().get(),
fake_free_disk_space_getter_.get()));
ASSERT_TRUE(cache_->Initialize());
......@@ -833,14 +836,13 @@ class FileCacheTest : public testing::Test {
TEST_F(FileCacheTest, ScanCacheFile) {
// Set up files in the cache directory.
const base::FilePath file_directory =
temp_dir_.path().Append(util::kCacheFileDirectory);
const base::FilePath file_directory = temp_dir_.path().AppendASCII("files");
ASSERT_TRUE(google_apis::test_util::WriteStringToFile(
file_directory.AppendASCII("id_foo"), "foo"));
// Remove the existing DB.
const base::FilePath metadata_directory =
temp_dir_.path().Append(util::kMetadataDirectory);
temp_dir_.path().AppendASCII("meta");
ASSERT_TRUE(base::DeleteFile(metadata_directory, true /* recursive */));
// Create a new cache and initialize it.
......@@ -849,7 +851,7 @@ TEST_F(FileCacheTest, ScanCacheFile) {
ASSERT_TRUE(metadata_storage_->Initialize());
cache_.reset(new FileCache(metadata_storage_.get(),
temp_dir_.path().Append(util::kCacheFileDirectory),
file_directory,
base::MessageLoopProxy::current().get(),
fake_free_disk_space_getter_.get()));
ASSERT_TRUE(cache_->Initialize());
......@@ -902,8 +904,7 @@ TEST_F(FileCacheTest, FreeDiskSpaceIfNeededFor) {
}
TEST_F(FileCacheTest, RenameCacheFilesToNewFormat) {
const base::FilePath file_directory =
temp_dir_.path().Append(util::kCacheFileDirectory);
const base::FilePath file_directory = temp_dir_.path().AppendASCII("files");
// File with an old style "<ID>.<MD5>" name.
ASSERT_TRUE(google_apis::test_util::WriteStringToFile(
......
......@@ -323,7 +323,8 @@ std::string NormalizeFileName(const std::string& input) {
}
void MigrateCacheFilesFromOldDirectories(
const base::FilePath& cache_root_directory) {
const base::FilePath& cache_root_directory,
const base::FilePath::StringType& cache_file_directory_name) {
const base::FilePath persistent_directory =
cache_root_directory.AppendASCII("persistent");
const base::FilePath tmp_directory =
......@@ -332,7 +333,7 @@ void MigrateCacheFilesFromOldDirectories(
return;
const base::FilePath cache_file_directory =
cache_root_directory.Append(kCacheFileDirectory);
cache_root_directory.Append(cache_file_directory_name);
// Move all files inside "persistent" to "files".
MoveAllFilesFromDirectory(persistent_directory, cache_file_directory);
......
......@@ -30,19 +30,6 @@ class ResourceEntry;
namespace util {
// Path constants.
// Name of the directory used to store metadata.
const base::FilePath::CharType kMetadataDirectory[] = FILE_PATH_LITERAL("meta");
// Name of the directory used to store cached files.
const base::FilePath::CharType kCacheFileDirectory[] =
FILE_PATH_LITERAL("files");
// Name of the directory used to store temporary files.
const base::FilePath::CharType kTemporaryFileDirectory[] =
FILE_PATH_LITERAL("tmp");
// Special resource IDs introduced to manage pseudo directory tree locally.
// These strings are supposed to be different from any resource ID used on the
// server, and are never sent to the server. Practical resource IDs used so far
......@@ -158,7 +145,8 @@ base::FilePath GetCacheRootPath(Profile* profile);
// "files" directory (see crbug.com/248905).
// TODO(hashimoto): Remove this function at some point.
void MigrateCacheFilesFromOldDirectories(
const base::FilePath& cache_root_directory);
const base::FilePath& cache_root_directory,
const base::FilePath::StringType& cache_file_directory_name);
// Callback type for PrepareWritableFileAndRun.
typedef base::Callback<void (FileError, const base::FilePath& path)>
......
......@@ -188,7 +188,7 @@ TEST(FileSystemUtilTest, MigrateCacheFilesFromOldDirectories) {
temp_dir.path().AppendASCII("persistent");
const base::FilePath tmp_directory = temp_dir.path().AppendASCII("tmp");
const base::FilePath files_directory =
temp_dir.path().Append(kCacheFileDirectory);
temp_dir.path().AppendASCII("files");
// Prepare directories.
ASSERT_TRUE(file_util::CreateDirectory(persistent_directory));
......@@ -202,7 +202,8 @@ TEST(FileSystemUtilTest, MigrateCacheFilesFromOldDirectories) {
tmp_directory.AppendASCII("bar.123"), "bar"));
// Migrate.
MigrateCacheFilesFromOldDirectories(temp_dir.path());
MigrateCacheFilesFromOldDirectories(temp_dir.path(),
FILE_PATH_LITERAL("files"));
EXPECT_FALSE(base::PathExists(persistent_directory));
EXPECT_TRUE(base::PathExists(files_directory.AppendASCII("foo.abc")));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment