| Index: components/filesystem/directory_impl.cc
|
| diff --git a/components/filesystem/directory_impl.cc b/components/filesystem/directory_impl.cc
|
| index fca0a212afba2ae9ec9ea4ed669dada3e611642e..4c8957f99aab6b92c4c6b85852e2205cfb39f7bf 100644
|
| --- a/components/filesystem/directory_impl.cc
|
| +++ b/components/filesystem/directory_impl.cc
|
| @@ -165,4 +165,42 @@ void DirectoryImpl::Delete(const mojo::String& raw_path,
|
| callback.Run(FILE_ERROR_OK);
|
| }
|
|
|
| +void DirectoryImpl::Exists(const mojo::String& raw_path,
|
| + const ExistsCallback& callback) {
|
| + base::FilePath path;
|
| + if (FileError error = ValidatePath(raw_path, directory_path_, &path)) {
|
| + callback.Run(error, false);
|
| + return;
|
| + }
|
| +
|
| + bool exists = base::PathExists(path);
|
| + callback.Run(FILE_ERROR_OK, exists);
|
| +}
|
| +
|
| +void DirectoryImpl::IsWritable(const mojo::String& raw_path,
|
| + const IsWritableCallback& callback) {
|
| + base::FilePath path;
|
| + if (FileError error = ValidatePath(raw_path, directory_path_, &path)) {
|
| + callback.Run(error, false);
|
| + return;
|
| + }
|
| +
|
| + callback.Run(FILE_ERROR_OK, base::PathIsWritable(path));
|
| +}
|
| +
|
| +void DirectoryImpl::Flush(const FlushCallback& callback) {
|
| + base::File file(directory_path_, base::File::FLAG_READ);
|
| + if (!file.IsValid()) {
|
| + callback.Run(FILE_ERROR_FAILED);
|
| + return;
|
| + }
|
| +
|
| + if (!file.Flush()) {
|
| + callback.Run(FILE_ERROR_FAILED);
|
| + return;
|
| + }
|
| +
|
| + callback.Run(FILE_ERROR_OK);
|
| +}
|
| +
|
| } // namespace filesystem
|
|
|