| Index: chrome/browser/chromeos/file_system_provider/fileapi/provider_async_file_util.cc
|
| diff --git a/chrome/browser/chromeos/file_system_provider/fileapi/provider_async_file_util.cc b/chrome/browser/chromeos/file_system_provider/fileapi/provider_async_file_util.cc
|
| index 0c886c93bacd230da1466d47ce1b256959f55828..cb2d2b76de1ef38e6a90f17995178489fbd70aea 100644
|
| --- a/chrome/browser/chromeos/file_system_provider/fileapi/provider_async_file_util.cc
|
| +++ b/chrome/browser/chromeos/file_system_provider/fileapi/provider_async_file_util.cc
|
| @@ -29,31 +29,44 @@ void GetFileInfoOnUIThread(
|
| const ProvidedFileSystemInterface::GetMetadataCallback& callback) {
|
| util::FileSystemURLParser parser(url);
|
| if (!parser.Parse()) {
|
| - callback.Run(EntryMetadata(), base::File::FILE_ERROR_INVALID_OPERATION);
|
| + callback.Run(make_scoped_ptr<EntryMetadata>(NULL),
|
| + base::File::FILE_ERROR_INVALID_OPERATION);
|
| return;
|
| }
|
|
|
| - parser.file_system()->GetMetadata(parser.file_path(), callback);
|
| + parser.file_system()->GetMetadata(
|
| + parser.file_path(),
|
| + ProvidedFileSystemInterface::METADATA_FIELD_DEFAULT,
|
| + callback);
|
| }
|
|
|
| // Routes the response of GetFileInfo back to the IO thread with a type
|
| // conversion.
|
| void OnGetFileInfo(const storage::AsyncFileUtil::GetFileInfoCallback& callback,
|
| - const EntryMetadata& metadata,
|
| + scoped_ptr<EntryMetadata> metadata,
|
| base::File::Error result) {
|
| + if (result != base::File::FILE_OK) {
|
| + BrowserThread::PostTask(BrowserThread::IO,
|
| + FROM_HERE,
|
| + base::Bind(callback, result, base::File::Info()));
|
| + return;
|
| + }
|
| +
|
| + DCHECK(metadata.get());
|
| base::File::Info file_info;
|
|
|
| // TODO(mtomasz): Add support for last modified time and creation time.
|
| // See: crbug.com/388540.
|
| - file_info.size = metadata.size;
|
| - file_info.is_directory = metadata.is_directory;
|
| + file_info.size = metadata->size;
|
| + file_info.is_directory = metadata->is_directory;
|
| file_info.is_symbolic_link = false; // Not supported.
|
| - file_info.last_modified = metadata.modification_time;
|
| - file_info.last_accessed = metadata.modification_time; // Not supported.
|
| - file_info.creation_time = metadata.modification_time; // Not supported.
|
| + file_info.last_modified = metadata->modification_time;
|
| + file_info.last_accessed = metadata->modification_time; // Not supported.
|
| + file_info.creation_time = metadata->modification_time; // Not supported.
|
|
|
| - BrowserThread::PostTask(
|
| - BrowserThread::IO, FROM_HERE, base::Bind(callback, result, file_info));
|
| + BrowserThread::PostTask(BrowserThread::IO,
|
| + FROM_HERE,
|
| + base::Bind(callback, base::File::FILE_OK, file_info));
|
| }
|
|
|
| // Executes ReadDirectory on the UI thread.
|
|
|