| Index: chrome/browser/chromeos/file_system_provider/fake_provided_file_system.cc
|
| diff --git a/chrome/browser/chromeos/file_system_provider/fake_provided_file_system.cc b/chrome/browser/chromeos/file_system_provider/fake_provided_file_system.cc
|
| index 8e54dd05d96b22eab5de8cd248f98179b3fa1f4f..f27aeb01fb4ad1f32c00f6802c0a272a72cf68fd 100644
|
| --- a/chrome/browser/chromeos/file_system_provider/fake_provided_file_system.cc
|
| +++ b/chrome/browser/chromeos/file_system_provider/fake_provided_file_system.cc
|
| @@ -4,12 +4,31 @@
|
|
|
| #include "chrome/browser/chromeos/file_system_provider/fake_provided_file_system.h"
|
|
|
| +#include <string>
|
| +
|
| #include "base/files/file.h"
|
| #include "base/message_loop/message_loop_proxy.h"
|
| #include "extensions/browser/event_router.h"
|
|
|
| namespace chromeos {
|
| namespace file_system_provider {
|
| +namespace {
|
| +
|
| +// Adds a fake entry to the entry list.
|
| +void AddDirectoryEntry(fileapi::AsyncFileUtil::EntryList* entry_list,
|
| + const std::string& name,
|
| + fileapi::DirectoryEntry::DirectoryEntryType type,
|
| + int64 size,
|
| + std::string last_modified_time_string) {
|
| + base::Time last_modified_time;
|
| + const bool result = base::Time::FromString(last_modified_time_string.c_str(),
|
| + &last_modified_time);
|
| + DCHECK(result);
|
| + entry_list->push_back(
|
| + fileapi::DirectoryEntry(name, type, size, last_modified_time));
|
| +}
|
| +
|
| +} // namespace
|
|
|
| FakeProvidedFileSystem::FakeProvidedFileSystem(
|
| const ProvidedFileSystemInfo& file_system_info)
|
| @@ -50,6 +69,55 @@ void FakeProvidedFileSystem::GetMetadata(
|
| FROM_HERE, base::Bind(callback, base::File::FILE_OK, file_info));
|
| }
|
|
|
| +void FakeProvidedFileSystem::ReadDirectory(
|
| + const base::FilePath& directory_path,
|
| + const fileapi::AsyncFileUtil::ReadDirectoryCallback& callback) {
|
| + // Return fake contents for the root directory only.
|
| + if (directory_path.AsUTF8Unsafe() != "/") {
|
| + base::MessageLoopProxy::current()->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(callback,
|
| + base::File::FILE_ERROR_NOT_FOUND,
|
| + fileapi::AsyncFileUtil::EntryList(),
|
| + false /* has_more */));
|
| + return;
|
| + }
|
| +
|
| + {
|
| + fileapi::AsyncFileUtil::EntryList entry_list;
|
| + AddDirectoryEntry(&entry_list,
|
| + "hello.txt",
|
| + fileapi::DirectoryEntry::FILE,
|
| + 1024 /* size */,
|
| + "Thu Apr 24 00:46:52 UTC 2014");
|
| +
|
| + AddDirectoryEntry(&entry_list,
|
| + "world.txt",
|
| + fileapi::DirectoryEntry::FILE,
|
| + 1024 /* size */,
|
| + "Wed Apr 23 00:20:30 UTC 2014");
|
| +
|
| + base::MessageLoopProxy::current()->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(
|
| + callback, base::File::FILE_OK, entry_list, true /* has_more */));
|
| + }
|
| +
|
| + {
|
| + fileapi::AsyncFileUtil::EntryList entry_list;
|
| + AddDirectoryEntry(&entry_list,
|
| + "pictures",
|
| + fileapi::DirectoryEntry::DIRECTORY,
|
| + 0 /* size */,
|
| + "Tue May 22 00:40:50 UTC 2014");
|
| +
|
| + base::MessageLoopProxy::current()->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(
|
| + callback, base::File::FILE_OK, entry_list, false /* has_more */));
|
| + }
|
| +}
|
| +
|
| const ProvidedFileSystemInfo& FakeProvidedFileSystem::GetFileSystemInfo()
|
| const {
|
| return file_system_info_;
|
|
|