summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-09 08:01:21 +0000
committerkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-09 08:01:21 +0000
commite7b056fbacfbffa0907c9bf7319a2629da1fefcf (patch)
tree73b91e1fbd4ed79855edf61f04ffdc8ceafa5df5
parent32217dd75171faaaa63dc2d544054b97d5bb68ad (diff)
downloadchromium_src-e7b056fbacfbffa0907c9bf7319a2629da1fefcf.zip
chromium_src-e7b056fbacfbffa0907c9bf7319a2629da1fefcf.tar.gz
chromium_src-e7b056fbacfbffa0907c9bf7319a2629da1fefcf.tar.bz2
Cleanup: return value and null-callback fixups on AsyncFileUtil interface
- Change return value from bool to void, as handling an error in two ways (return value and callback value) adds unnecessary complexity, and it's not handled at all in the current code. - Add a restriction to callbcak: from now callback should never be NULL. Also dropping callback.is_null() checks in the implementation. BUG=241701 TEST=existing tests should pass R=hidehiko@chromium.org, tzik@chromium.org, vandebo@chromium.org Review URL: https://codereview.chromium.org/18580012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@210510 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/media_galleries/fileapi/device_media_async_file_util.cc109
-rw-r--r--chrome/browser/media_galleries/fileapi/device_media_async_file_util.h28
-rw-r--r--chrome/browser/media_galleries/fileapi/native_media_file_util.cc93
-rw-r--r--chrome/browser/media_galleries/fileapi/native_media_file_util.h28
-rw-r--r--webkit/browser/fileapi/async_file_util.h59
-rw-r--r--webkit/browser/fileapi/async_file_util_adapter.cc85
-rw-r--r--webkit/browser/fileapi/async_file_util_adapter.h28
-rw-r--r--webkit/browser/fileapi/file_system_operation_context.h1
8 files changed, 182 insertions, 249 deletions
diff --git a/chrome/browser/media_galleries/fileapi/device_media_async_file_util.cc b/chrome/browser/media_galleries/fileapi/device_media_async_file_util.cc
index 5f935c5..64fd515 100644
--- a/chrome/browser/media_galleries/fileapi/device_media_async_file_util.cc
+++ b/chrome/browser/media_galleries/fileapi/device_media_async_file_util.cc
@@ -81,33 +81,28 @@ DeviceMediaAsyncFileUtil* DeviceMediaAsyncFileUtil::Create(
return new DeviceMediaAsyncFileUtil(profile_path);
}
-bool DeviceMediaAsyncFileUtil::CreateOrOpen(
+void DeviceMediaAsyncFileUtil::CreateOrOpen(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
int file_flags,
const CreateOrOpenCallback& callback) {
DCHECK(IsOnIOThread(context.get()));
NOTIMPLEMENTED();
- if (!callback.is_null()) {
- base::PlatformFile invalid_file = base::kInvalidPlatformFileValue;
- callback.Run(base::PLATFORM_FILE_ERROR_SECURITY,
- base::PassPlatformFile(&invalid_file));
- }
- return true;
+ base::PlatformFile invalid_file = base::kInvalidPlatformFileValue;
+ callback.Run(base::PLATFORM_FILE_ERROR_SECURITY,
+ base::PassPlatformFile(&invalid_file));
}
-bool DeviceMediaAsyncFileUtil::EnsureFileExists(
+void DeviceMediaAsyncFileUtil::EnsureFileExists(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const EnsureFileExistsCallback& callback) {
DCHECK(IsOnIOThread(context.get()));
NOTIMPLEMENTED();
- if (!callback.is_null())
- callback.Run(base::PLATFORM_FILE_ERROR_SECURITY, false);
- return true;
+ callback.Run(base::PLATFORM_FILE_ERROR_SECURITY, false);
}
-bool DeviceMediaAsyncFileUtil::CreateDirectory(
+void DeviceMediaAsyncFileUtil::CreateDirectory(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
bool exclusive,
@@ -115,12 +110,10 @@ bool DeviceMediaAsyncFileUtil::CreateDirectory(
const StatusCallback& callback) {
DCHECK(IsOnIOThread(context.get()));
NOTIMPLEMENTED();
- if (!callback.is_null())
- callback.Run(base::PLATFORM_FILE_ERROR_SECURITY);
- return true;
+ callback.Run(base::PLATFORM_FILE_ERROR_SECURITY);
}
-bool DeviceMediaAsyncFileUtil::GetFileInfo(
+void DeviceMediaAsyncFileUtil::GetFileInfo(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const GetFileInfoCallback& callback) {
@@ -129,7 +122,7 @@ bool DeviceMediaAsyncFileUtil::GetFileInfo(
if (!delegate) {
OnGetFileInfoError(callback, url.path(),
base::PLATFORM_FILE_ERROR_NOT_FOUND);
- return true;
+ return;
}
delegate->GetFileInfo(
url.path(),
@@ -141,10 +134,9 @@ bool DeviceMediaAsyncFileUtil::GetFileInfo(
weak_ptr_factory_.GetWeakPtr(),
callback,
url.path()));
- return true;
}
-bool DeviceMediaAsyncFileUtil::ReadDirectory(
+void DeviceMediaAsyncFileUtil::ReadDirectory(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const ReadDirectoryCallback& callback) {
@@ -152,7 +144,7 @@ bool DeviceMediaAsyncFileUtil::ReadDirectory(
MTPDeviceAsyncDelegate* delegate = GetMTPDeviceDelegate(context.get());
if (!delegate) {
OnReadDirectoryError(callback, base::PLATFORM_FILE_ERROR_NOT_FOUND);
- return true;
+ return;
}
delegate->ReadDirectory(
url.path(),
@@ -162,10 +154,9 @@ bool DeviceMediaAsyncFileUtil::ReadDirectory(
base::Bind(&DeviceMediaAsyncFileUtil::OnReadDirectoryError,
weak_ptr_factory_.GetWeakPtr(),
callback));
- return true;
}
-bool DeviceMediaAsyncFileUtil::Touch(
+void DeviceMediaAsyncFileUtil::Touch(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const base::Time& last_access_time,
@@ -173,92 +164,76 @@ bool DeviceMediaAsyncFileUtil::Touch(
const StatusCallback& callback) {
DCHECK(IsOnIOThread(context.get()));
NOTIMPLEMENTED();
- if (!callback.is_null())
- callback.Run(base::PLATFORM_FILE_ERROR_SECURITY);
- return true;
+ callback.Run(base::PLATFORM_FILE_ERROR_SECURITY);
}
-bool DeviceMediaAsyncFileUtil::Truncate(
+void DeviceMediaAsyncFileUtil::Truncate(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
int64 length,
const StatusCallback& callback) {
DCHECK(IsOnIOThread(context.get()));
NOTIMPLEMENTED();
- if (!callback.is_null())
- callback.Run(base::PLATFORM_FILE_ERROR_SECURITY);
- return true;
+ callback.Run(base::PLATFORM_FILE_ERROR_SECURITY);
}
-bool DeviceMediaAsyncFileUtil::CopyFileLocal(
+void DeviceMediaAsyncFileUtil::CopyFileLocal(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& src_url,
const FileSystemURL& dest_url,
const StatusCallback& callback) {
DCHECK(IsOnIOThread(context.get()));
NOTIMPLEMENTED();
- if (!callback.is_null())
- callback.Run(base::PLATFORM_FILE_ERROR_SECURITY);
- return true;
+ callback.Run(base::PLATFORM_FILE_ERROR_SECURITY);
}
-bool DeviceMediaAsyncFileUtil::MoveFileLocal(
+void DeviceMediaAsyncFileUtil::MoveFileLocal(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& src_url,
const FileSystemURL& dest_url,
const StatusCallback& callback) {
DCHECK(IsOnIOThread(context.get()));
NOTIMPLEMENTED();
- if (!callback.is_null())
- callback.Run(base::PLATFORM_FILE_ERROR_SECURITY);
- return true;
+ callback.Run(base::PLATFORM_FILE_ERROR_SECURITY);
}
-bool DeviceMediaAsyncFileUtil::CopyInForeignFile(
+void DeviceMediaAsyncFileUtil::CopyInForeignFile(
scoped_ptr<FileSystemOperationContext> context,
const base::FilePath& src_file_path,
const FileSystemURL& dest_url,
const StatusCallback& callback) {
DCHECK(IsOnIOThread(context.get()));
NOTIMPLEMENTED();
- if (!callback.is_null())
- callback.Run(base::PLATFORM_FILE_ERROR_SECURITY);
- return true;
+ callback.Run(base::PLATFORM_FILE_ERROR_SECURITY);
}
-bool DeviceMediaAsyncFileUtil::DeleteFile(
+void DeviceMediaAsyncFileUtil::DeleteFile(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const StatusCallback& callback) {
DCHECK(IsOnIOThread(context.get()));
NOTIMPLEMENTED();
- if (!callback.is_null())
- callback.Run(base::PLATFORM_FILE_ERROR_SECURITY);
- return true;
+ callback.Run(base::PLATFORM_FILE_ERROR_SECURITY);
}
-bool DeviceMediaAsyncFileUtil::DeleteDirectory(
+void DeviceMediaAsyncFileUtil::DeleteDirectory(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const StatusCallback& callback) {
DCHECK(IsOnIOThread(context.get()));
NOTIMPLEMENTED();
- if (!callback.is_null())
- callback.Run(base::PLATFORM_FILE_ERROR_SECURITY);
- return true;
+ callback.Run(base::PLATFORM_FILE_ERROR_SECURITY);
}
-bool DeviceMediaAsyncFileUtil::DeleteRecursively(
+void DeviceMediaAsyncFileUtil::DeleteRecursively(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const StatusCallback& callback) {
DCHECK(IsOnIOThread(context.get()));
- if (!callback.is_null())
- callback.Run(base::PLATFORM_FILE_ERROR_INVALID_OPERATION);
- return true;
+ callback.Run(base::PLATFORM_FILE_ERROR_INVALID_OPERATION);
}
-bool DeviceMediaAsyncFileUtil::CreateSnapshotFile(
+void DeviceMediaAsyncFileUtil::CreateSnapshotFile(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const CreateSnapshotFileCallback& callback) {
@@ -266,11 +241,11 @@ bool DeviceMediaAsyncFileUtil::CreateSnapshotFile(
MTPDeviceAsyncDelegate* delegate = GetMTPDeviceDelegate(context.get());
if (!delegate) {
OnCreateSnapshotFileError(callback, base::PLATFORM_FILE_ERROR_NOT_FOUND);
- return true;
+ return;
}
base::FilePath* snapshot_file_path = new base::FilePath;
base::SequencedTaskRunner* task_runner = context->task_runner();
- return task_runner->PostTaskAndReply(
+ const bool success = task_runner->PostTaskAndReply(
FROM_HERE,
base::Bind(&CreateSnapshotFileOnBlockingPool,
url.path(),
@@ -282,6 +257,7 @@ bool DeviceMediaAsyncFileUtil::CreateSnapshotFile(
callback,
url.path(),
base::Owned(snapshot_file_path)));
+ DCHECK(success);
}
DeviceMediaAsyncFileUtil::DeviceMediaAsyncFileUtil(
@@ -295,8 +271,7 @@ void DeviceMediaAsyncFileUtil::OnDidGetFileInfo(
// TODO(thestig): remove this.
const base::FilePath& platform_path,
const base::PlatformFileInfo& file_info) {
- if (!callback.is_null())
- callback.Run(base::PLATFORM_FILE_OK, file_info);
+ callback.Run(base::PLATFORM_FILE_OK, file_info);
}
void DeviceMediaAsyncFileUtil::OnGetFileInfoError(
@@ -304,23 +279,20 @@ void DeviceMediaAsyncFileUtil::OnGetFileInfoError(
// TODO(thestig): remove this.
const base::FilePath& platform_path,
base::PlatformFileError error) {
- if (!callback.is_null())
- callback.Run(error, base::PlatformFileInfo());
+ callback.Run(error, base::PlatformFileInfo());
}
void DeviceMediaAsyncFileUtil::OnDidReadDirectory(
const AsyncFileUtil::ReadDirectoryCallback& callback,
const AsyncFileUtil::EntryList& file_list,
bool has_more) {
- if (!callback.is_null())
- callback.Run(base::PLATFORM_FILE_OK, file_list, has_more);
+ callback.Run(base::PLATFORM_FILE_OK, file_list, has_more);
}
void DeviceMediaAsyncFileUtil::OnReadDirectoryError(
const AsyncFileUtil::ReadDirectoryCallback& callback,
base::PlatformFileError error) {
- if (!callback.is_null())
- callback.Run(error, AsyncFileUtil::EntryList(), false /*no more*/);
+ callback.Run(error, AsyncFileUtil::EntryList(), false /*no more*/);
}
void DeviceMediaAsyncFileUtil::OnDidCreateSnapshotFile(
@@ -328,8 +300,6 @@ void DeviceMediaAsyncFileUtil::OnDidCreateSnapshotFile(
base::SequencedTaskRunner* media_task_runner,
const base::PlatformFileInfo& file_info,
const base::FilePath& platform_path) {
- if (callback.is_null())
- return;
base::PostTaskAndReplyWithResult(
media_task_runner,
FROM_HERE,
@@ -349,8 +319,6 @@ void DeviceMediaAsyncFileUtil::OnDidCheckMedia(
const base::PlatformFileInfo& file_info,
scoped_refptr<webkit_blob::ShareableFileReference> platform_file,
base::PlatformFileError error) {
- if (callback.is_null())
- return;
base::FilePath platform_path(platform_file.get()->path());
if (error != base::PLATFORM_FILE_OK)
platform_file = NULL;
@@ -360,9 +328,8 @@ void DeviceMediaAsyncFileUtil::OnDidCheckMedia(
void DeviceMediaAsyncFileUtil::OnCreateSnapshotFileError(
const AsyncFileUtil::CreateSnapshotFileCallback& callback,
base::PlatformFileError error) {
- if (!callback.is_null())
- callback.Run(error, base::PlatformFileInfo(), base::FilePath(),
- scoped_refptr<ShareableFileReference>());
+ callback.Run(error, base::PlatformFileInfo(), base::FilePath(),
+ scoped_refptr<ShareableFileReference>());
}
void DeviceMediaAsyncFileUtil::OnSnapshotFileCreatedRunTask(
diff --git a/chrome/browser/media_galleries/fileapi/device_media_async_file_util.h b/chrome/browser/media_galleries/fileapi/device_media_async_file_util.h
index e109c64..f6e2e9f 100644
--- a/chrome/browser/media_galleries/fileapi/device_media_async_file_util.h
+++ b/chrome/browser/media_galleries/fileapi/device_media_async_file_util.h
@@ -34,68 +34,68 @@ class DeviceMediaAsyncFileUtil : public fileapi::AsyncFileUtil {
static DeviceMediaAsyncFileUtil* Create(const base::FilePath& profile_path);
// AsyncFileUtil overrides.
- virtual bool CreateOrOpen(
+ virtual void CreateOrOpen(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
int file_flags,
const CreateOrOpenCallback& callback) OVERRIDE;
- virtual bool EnsureFileExists(
+ virtual void EnsureFileExists(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
const EnsureFileExistsCallback& callback) OVERRIDE;
- virtual bool CreateDirectory(
+ virtual void CreateDirectory(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
bool exclusive,
bool recursive,
const StatusCallback& callback) OVERRIDE;
- virtual bool GetFileInfo(
+ virtual void GetFileInfo(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
const GetFileInfoCallback& callback) OVERRIDE;
- virtual bool ReadDirectory(
+ virtual void ReadDirectory(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
const ReadDirectoryCallback& callback) OVERRIDE;
- virtual bool Touch(
+ virtual void Touch(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
const base::Time& last_access_time,
const base::Time& last_modified_time,
const StatusCallback& callback) OVERRIDE;
- virtual bool Truncate(
+ virtual void Truncate(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
int64 length,
const StatusCallback& callback) OVERRIDE;
- virtual bool CopyFileLocal(
+ virtual void CopyFileLocal(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& src_url,
const fileapi::FileSystemURL& dest_url,
const StatusCallback& callback) OVERRIDE;
- virtual bool MoveFileLocal(
+ virtual void MoveFileLocal(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& src_url,
const fileapi::FileSystemURL& dest_url,
const StatusCallback& callback) OVERRIDE;
- virtual bool CopyInForeignFile(
+ virtual void CopyInForeignFile(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const base::FilePath& src_file_path,
const fileapi::FileSystemURL& dest_url,
const StatusCallback& callback) OVERRIDE;
- virtual bool DeleteFile(
+ virtual void DeleteFile(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
const StatusCallback& callback) OVERRIDE;
- virtual bool DeleteDirectory(
+ virtual void DeleteDirectory(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
const StatusCallback& callback) OVERRIDE;
- virtual bool DeleteRecursively(
+ virtual void DeleteRecursively(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
const StatusCallback& callback) OVERRIDE;
- virtual bool CreateSnapshotFile(
+ virtual void CreateSnapshotFile(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
const CreateSnapshotFileCallback& callback) OVERRIDE;
diff --git a/chrome/browser/media_galleries/fileapi/native_media_file_util.cc b/chrome/browser/media_galleries/fileapi/native_media_file_util.cc
index ece1ad2..d3a347ab 100644
--- a/chrome/browser/media_galleries/fileapi/native_media_file_util.cc
+++ b/chrome/browser/media_galleries/fileapi/native_media_file_util.cc
@@ -135,7 +135,7 @@ base::PlatformFileError NativeMediaFileUtil::IsMediaFile(
return base::PLATFORM_FILE_ERROR_SECURITY;
}
-bool NativeMediaFileUtil::CreateOrOpen(
+void NativeMediaFileUtil::CreateOrOpen(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
int file_flags,
@@ -143,24 +143,19 @@ bool NativeMediaFileUtil::CreateOrOpen(
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
// Only called by NaCl, which should not have access to media file systems.
base::PlatformFile invalid_file(base::kInvalidPlatformFileValue);
- if (!callback.is_null()) {
- callback.Run(base::PLATFORM_FILE_ERROR_SECURITY,
- base::PassPlatformFile(&invalid_file));
- }
- return true;
+ callback.Run(base::PLATFORM_FILE_ERROR_SECURITY,
+ base::PassPlatformFile(&invalid_file));
}
-bool NativeMediaFileUtil::EnsureFileExists(
+void NativeMediaFileUtil::EnsureFileExists(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
const EnsureFileExistsCallback& callback) {
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
- if (!callback.is_null())
- callback.Run(base::PLATFORM_FILE_ERROR_SECURITY, false);
- return true;
+ callback.Run(base::PLATFORM_FILE_ERROR_SECURITY, false);
}
-bool NativeMediaFileUtil::CreateDirectory(
+void NativeMediaFileUtil::CreateDirectory(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
bool exclusive,
@@ -168,149 +163,149 @@ bool NativeMediaFileUtil::CreateDirectory(
const StatusCallback& callback) {
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
fileapi::FileSystemOperationContext* context_ptr = context.get();
- return context_ptr->task_runner()->PostTask(
+ const bool success = context_ptr->task_runner()->PostTask(
FROM_HERE,
base::Bind(&NativeMediaFileUtil::CreateDirectoryOnTaskRunnerThread,
weak_factory_.GetWeakPtr(), base::Passed(&context),
url, exclusive, recursive, callback));
+ DCHECK(success);
}
-bool NativeMediaFileUtil::GetFileInfo(
+void NativeMediaFileUtil::GetFileInfo(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
const GetFileInfoCallback& callback) {
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
fileapi::FileSystemOperationContext* context_ptr = context.get();
- return context_ptr->task_runner()->PostTask(
+ const bool success = context_ptr->task_runner()->PostTask(
FROM_HERE,
base::Bind(&NativeMediaFileUtil::GetFileInfoOnTaskRunnerThread,
weak_factory_.GetWeakPtr(), base::Passed(&context),
url, callback));
+ DCHECK(success);
}
-bool NativeMediaFileUtil::ReadDirectory(
+void NativeMediaFileUtil::ReadDirectory(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
const ReadDirectoryCallback& callback) {
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
fileapi::FileSystemOperationContext* context_ptr = context.get();
- return context_ptr->task_runner()->PostTask(
+ const bool success = context_ptr->task_runner()->PostTask(
FROM_HERE,
base::Bind(&NativeMediaFileUtil::ReadDirectoryOnTaskRunnerThread,
weak_factory_.GetWeakPtr(), base::Passed(&context),
url, callback));
+ DCHECK(success);
}
-bool NativeMediaFileUtil::Touch(
+void NativeMediaFileUtil::Touch(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
const base::Time& last_access_time,
const base::Time& last_modified_time,
const StatusCallback& callback) {
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
- if (!callback.is_null())
- callback.Run(base::PLATFORM_FILE_ERROR_SECURITY);
- return true;
+ callback.Run(base::PLATFORM_FILE_ERROR_SECURITY);
}
-bool NativeMediaFileUtil::Truncate(
+void NativeMediaFileUtil::Truncate(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
int64 length,
const StatusCallback& callback) {
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
- if (!callback.is_null())
- callback.Run(base::PLATFORM_FILE_ERROR_SECURITY);
- return true;
+ callback.Run(base::PLATFORM_FILE_ERROR_SECURITY);
}
-bool NativeMediaFileUtil::CopyFileLocal(
+void NativeMediaFileUtil::CopyFileLocal(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& src_url,
const fileapi::FileSystemURL& dest_url,
const StatusCallback& callback) {
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
fileapi::FileSystemOperationContext* context_ptr = context.get();
- return context_ptr->task_runner()->PostTask(
+ const bool success = context_ptr->task_runner()->PostTask(
FROM_HERE,
base::Bind(&NativeMediaFileUtil::CopyOrMoveFileLocalOnTaskRunnerThread,
weak_factory_.GetWeakPtr(), base::Passed(&context),
src_url, dest_url, true /* copy */, callback));
+ DCHECK(success);
}
-bool NativeMediaFileUtil::MoveFileLocal(
+void NativeMediaFileUtil::MoveFileLocal(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& src_url,
const fileapi::FileSystemURL& dest_url,
const StatusCallback& callback) {
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
fileapi::FileSystemOperationContext* context_ptr = context.get();
- return context_ptr->task_runner()->PostTask(
+ const bool success = context_ptr->task_runner()->PostTask(
FROM_HERE,
base::Bind(&NativeMediaFileUtil::CopyOrMoveFileLocalOnTaskRunnerThread,
weak_factory_.GetWeakPtr(), base::Passed(&context),
src_url, dest_url, false /* copy */, callback));
+ DCHECK(success);
}
-bool NativeMediaFileUtil::CopyInForeignFile(
+void NativeMediaFileUtil::CopyInForeignFile(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const base::FilePath& src_file_path,
const fileapi::FileSystemURL& dest_url,
const StatusCallback& callback) {
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
fileapi::FileSystemOperationContext* context_ptr = context.get();
- return context_ptr->task_runner()->PostTask(
+ const bool success = context_ptr->task_runner()->PostTask(
FROM_HERE,
base::Bind(&NativeMediaFileUtil::CopyInForeignFileOnTaskRunnerThread,
weak_factory_.GetWeakPtr(), base::Passed(&context),
src_file_path, dest_url, callback));
+ DCHECK(success);
}
-bool NativeMediaFileUtil::DeleteFile(
+void NativeMediaFileUtil::DeleteFile(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
const StatusCallback& callback) {
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
- if (!callback.is_null())
- callback.Run(base::PLATFORM_FILE_ERROR_SECURITY);
- return true;
+ callback.Run(base::PLATFORM_FILE_ERROR_SECURITY);
}
// This is needed to support Copy and Move.
-bool NativeMediaFileUtil::DeleteDirectory(
+void NativeMediaFileUtil::DeleteDirectory(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
const StatusCallback& callback) {
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
fileapi::FileSystemOperationContext* context_ptr = context.get();
- return context_ptr->task_runner()->PostTask(
+ const bool success = context_ptr->task_runner()->PostTask(
FROM_HERE,
base::Bind(&NativeMediaFileUtil::DeleteDirectoryOnTaskRunnerThread,
weak_factory_.GetWeakPtr(), base::Passed(&context),
url, callback));
+ DCHECK(success);
}
-bool NativeMediaFileUtil::DeleteRecursively(
+void NativeMediaFileUtil::DeleteRecursively(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
const StatusCallback& callback) {
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
- if (!callback.is_null())
- callback.Run(base::PLATFORM_FILE_ERROR_INVALID_OPERATION);
- return true;
+ callback.Run(base::PLATFORM_FILE_ERROR_INVALID_OPERATION);
}
-bool NativeMediaFileUtil::CreateSnapshotFile(
+void NativeMediaFileUtil::CreateSnapshotFile(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
const CreateSnapshotFileCallback& callback) {
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
fileapi::FileSystemOperationContext* context_ptr = context.get();
- return context_ptr->task_runner()->PostTask(
+ const bool success = context_ptr->task_runner()->PostTask(
FROM_HERE,
base::Bind(&NativeMediaFileUtil::CreateSnapshotFileOnTaskRunnerThread,
weak_factory_.GetWeakPtr(), base::Passed(&context),
url, callback));
+ DCHECK(success);
}
void NativeMediaFileUtil::CreateDirectoryOnTaskRunnerThread(
@@ -322,8 +317,6 @@ void NativeMediaFileUtil::CreateDirectoryOnTaskRunnerThread(
DCHECK(IsOnTaskRunnerThread(context.get()));
base::PlatformFileError error =
CreateDirectorySync(context.get(), url, exclusive, recursive);
- if (callback.is_null())
- return;
content::BrowserThread::PostTask(
content::BrowserThread::IO,
FROM_HERE,
@@ -340,8 +333,6 @@ void NativeMediaFileUtil::GetFileInfoOnTaskRunnerThread(
base::FilePath platform_path;
base::PlatformFileError error =
GetFileInfoSync(context.get(), url, &file_info, &platform_path);
- if (callback.is_null())
- return;
content::BrowserThread::PostTask(
content::BrowserThread::IO,
FROM_HERE,
@@ -356,8 +347,6 @@ void NativeMediaFileUtil::ReadDirectoryOnTaskRunnerThread(
EntryList entry_list;
base::PlatformFileError error =
ReadDirectorySync(context.get(), url, &entry_list);
- if (callback.is_null())
- return;
content::BrowserThread::PostTask(
content::BrowserThread::IO,
FROM_HERE,
@@ -373,8 +362,6 @@ void NativeMediaFileUtil::CopyOrMoveFileLocalOnTaskRunnerThread(
DCHECK(IsOnTaskRunnerThread(context.get()));
base::PlatformFileError error =
CopyOrMoveFileSync(context.get(), src_url, dest_url, copy);
- if (callback.is_null())
- return;
content::BrowserThread::PostTask(
content::BrowserThread::IO,
FROM_HERE,
@@ -389,8 +376,6 @@ void NativeMediaFileUtil::CopyInForeignFileOnTaskRunnerThread(
DCHECK(IsOnTaskRunnerThread(context.get()));
base::PlatformFileError error =
CopyInForeignFileSync(context.get(), src_file_path, dest_url);
- if (callback.is_null())
- return;
content::BrowserThread::PostTask(
content::BrowserThread::IO,
FROM_HERE,
@@ -403,8 +388,6 @@ void NativeMediaFileUtil::DeleteDirectoryOnTaskRunnerThread(
const StatusCallback& callback) {
DCHECK(IsOnTaskRunnerThread(context.get()));
base::PlatformFileError error = DeleteDirectorySync(context.get(), url);
- if (callback.is_null())
- return;
content::BrowserThread::PostTask(
content::BrowserThread::IO,
FROM_HERE,
@@ -422,8 +405,6 @@ void NativeMediaFileUtil::CreateSnapshotFileOnTaskRunnerThread(
base::PlatformFileError error =
CreateSnapshotFileSync(context.get(), url, &file_info, &platform_path,
&file_ref);
- if (callback.is_null())
- return;
content::BrowserThread::PostTask(
content::BrowserThread::IO,
FROM_HERE,
diff --git a/chrome/browser/media_galleries/fileapi/native_media_file_util.h b/chrome/browser/media_galleries/fileapi/native_media_file_util.h
index 731bdb9..29de6e6 100644
--- a/chrome/browser/media_galleries/fileapi/native_media_file_util.h
+++ b/chrome/browser/media_galleries/fileapi/native_media_file_util.h
@@ -25,68 +25,68 @@ class NativeMediaFileUtil : public fileapi::AsyncFileUtil {
static base::PlatformFileError IsMediaFile(const base::FilePath& path);
// AsyncFileUtil overrides.
- virtual bool CreateOrOpen(
+ virtual void CreateOrOpen(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
int file_flags,
const CreateOrOpenCallback& callback) OVERRIDE;
- virtual bool EnsureFileExists(
+ virtual void EnsureFileExists(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
const EnsureFileExistsCallback& callback) OVERRIDE;
- virtual bool CreateDirectory(
+ virtual void CreateDirectory(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
bool exclusive,
bool recursive,
const StatusCallback& callback) OVERRIDE;
- virtual bool GetFileInfo(
+ virtual void GetFileInfo(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
const GetFileInfoCallback& callback) OVERRIDE;
- virtual bool ReadDirectory(
+ virtual void ReadDirectory(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
const ReadDirectoryCallback& callback) OVERRIDE;
- virtual bool Touch(
+ virtual void Touch(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
const base::Time& last_access_time,
const base::Time& last_modified_time,
const StatusCallback& callback) OVERRIDE;
- virtual bool Truncate(
+ virtual void Truncate(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
int64 length,
const StatusCallback& callback) OVERRIDE;
- virtual bool CopyFileLocal(
+ virtual void CopyFileLocal(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& src_url,
const fileapi::FileSystemURL& dest_url,
const StatusCallback& callback) OVERRIDE;
- virtual bool MoveFileLocal(
+ virtual void MoveFileLocal(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& src_url,
const fileapi::FileSystemURL& dest_url,
const StatusCallback& callback) OVERRIDE;
- virtual bool CopyInForeignFile(
+ virtual void CopyInForeignFile(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const base::FilePath& src_file_path,
const fileapi::FileSystemURL& dest_url,
const StatusCallback& callback) OVERRIDE;
- virtual bool DeleteFile(
+ virtual void DeleteFile(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
const StatusCallback& callback) OVERRIDE;
- virtual bool DeleteDirectory(
+ virtual void DeleteDirectory(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
const StatusCallback& callback) OVERRIDE;
- virtual bool DeleteRecursively(
+ virtual void DeleteRecursively(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
const StatusCallback& callback) OVERRIDE;
- virtual bool CreateSnapshotFile(
+ virtual void CreateSnapshotFile(
scoped_ptr<fileapi::FileSystemOperationContext> context,
const fileapi::FileSystemURL& url,
const CreateSnapshotFileCallback& callback) OVERRIDE;
diff --git a/webkit/browser/fileapi/async_file_util.h b/webkit/browser/fileapi/async_file_util.h
index 9d51024..e714c99 100644
--- a/webkit/browser/fileapi/async_file_util.h
+++ b/webkit/browser/fileapi/async_file_util.h
@@ -38,6 +38,10 @@ class FileSystemURL;
// alive while FileSystemOperationContext given to each operation is kept
// alive. (Note that this instance might be freed on different thread
// from the thread it is created.)
+//
+// It is NOT valid to give null callback to this class, and implementors
+// can assume that they don't get any null callbacks.
+//
class WEBKIT_STORAGE_BROWSER_EXPORT AsyncFileUtil {
public:
typedef base::Callback<
@@ -79,9 +83,7 @@ class WEBKIT_STORAGE_BROWSER_EXPORT AsyncFileUtil {
// LocalFileSystemOperation::OpenFile calls this.
// This is used only by Pepper/NaCL File API.
//
- // This returns false if it fails to post an async task.
- //
- virtual bool CreateOrOpen(
+ virtual void CreateOrOpen(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
int file_flags,
@@ -92,8 +94,6 @@ class WEBKIT_STORAGE_BROWSER_EXPORT AsyncFileUtil {
//
// LocalFileSystemOperation::CreateFile calls this.
//
- // This returns false if it fails to post an async task.
- //
// This reports following error code via |callback|:
// - PLATFORM_FILE_OK and created==true if a file has not existed and
// is created at |url|.
@@ -101,7 +101,7 @@ class WEBKIT_STORAGE_BROWSER_EXPORT AsyncFileUtil {
// - Other error code (with created=false) if a file hasn't existed yet
// and there was an error while creating a new file.
//
- virtual bool EnsureFileExists(
+ virtual void EnsureFileExists(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const EnsureFileExistsCallback& callback) = 0;
@@ -110,8 +110,6 @@ class WEBKIT_STORAGE_BROWSER_EXPORT AsyncFileUtil {
//
// LocalFileSystemOperation::CreateDirectory calls this.
//
- // This returns false if it fails to post an async task.
- //
// This reports following error code via |callback|:
// - PLATFORM_FILE_ERROR_NOT_FOUND if the |url|'s parent directory
// does not exist and |recursive| is false.
@@ -121,7 +119,7 @@ class WEBKIT_STORAGE_BROWSER_EXPORT AsyncFileUtil {
// (regardless of |exclusive| value).
// - Other error code if it failed to create a directory.
//
- virtual bool CreateDirectory(
+ virtual void CreateDirectory(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
bool exclusive,
@@ -132,13 +130,11 @@ class WEBKIT_STORAGE_BROWSER_EXPORT AsyncFileUtil {
//
// LocalFileSystemOperation::GetMetadata calls this.
//
- // This returns false if it fails to post an async task.
- //
// This reports following error code via |callback|:
// - PLATFORM_FILE_ERROR_NOT_FOUND if the file doesn't exist.
// - Other error code if there was an error while retrieving the file info.
//
- virtual bool GetFileInfo(
+ virtual void GetFileInfo(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const GetFileInfoCallback& callback) = 0;
@@ -156,14 +152,12 @@ class WEBKIT_STORAGE_BROWSER_EXPORT AsyncFileUtil {
// the returned |file_list| should include entries whose names
// are 'a' and 'b', but not '/path/to/dir/a' and '/path/to/dir/b'.)
//
- // This returns false if it fails to post an async task.
- //
// This reports following error code via |callback|:
// - PLATFORM_FILE_ERROR_NOT_FOUND if the target directory doesn't exist.
// - PLATFORM_FILE_ERROR_NOT_A_DIRECTORY if an entry exists at |url| but
// is a file (not a directory).
//
- virtual bool ReadDirectory(
+ virtual void ReadDirectory(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const ReadDirectoryCallback& callback) = 0;
@@ -175,8 +169,7 @@ class WEBKIT_STORAGE_BROWSER_EXPORT AsyncFileUtil {
// LocalFileSystemOperation::TouchFile calls this.
// This is used only by Pepper/NaCL File API.
//
- // This returns false if it fails to post an async task.
- virtual bool Touch(
+ virtual void Touch(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const base::Time& last_access_time,
@@ -189,12 +182,10 @@ class WEBKIT_STORAGE_BROWSER_EXPORT AsyncFileUtil {
//
// LocalFileSystemOperation::Truncate calls this.
//
- // This returns false if it fails to post an async task.
- //
// This reports following error code via |callback|:
// - PLATFORM_FILE_ERROR_NOT_FOUND if the file doesn't exist.
//
- virtual bool Truncate(
+ virtual void Truncate(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
int64 length,
@@ -206,8 +197,6 @@ class WEBKIT_STORAGE_BROWSER_EXPORT AsyncFileUtil {
//
// LocalFileSystemOperation::Copy calls this for same-filesystem copy case.
//
- // This returns false if it fails to post an async task.
- //
// This reports following error code via |callback|:
// - PLATFORM_FILE_ERROR_NOT_FOUND if |src_url|
// or the parent directory of |dest_url| does not exist.
@@ -217,7 +206,7 @@ class WEBKIT_STORAGE_BROWSER_EXPORT AsyncFileUtil {
// - PLATFORM_FILE_ERROR_FAILED if |dest_url| does not exist and
// its parent path is a file.
//
- virtual bool CopyFileLocal(
+ virtual void CopyFileLocal(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& src_url,
const FileSystemURL& dest_url,
@@ -229,8 +218,6 @@ class WEBKIT_STORAGE_BROWSER_EXPORT AsyncFileUtil {
//
// LocalFileSystemOperation::Move calls this for same-filesystem move case.
//
- // This returns false if it fails to post an async task.
- //
// This reports following error code via |callback|:
// - PLATFORM_FILE_ERROR_NOT_FOUND if |src_url|
// or the parent directory of |dest_url| does not exist.
@@ -240,7 +227,7 @@ class WEBKIT_STORAGE_BROWSER_EXPORT AsyncFileUtil {
// - PLATFORM_FILE_ERROR_FAILED if |dest_url| does not exist and
// its parent path is a file.
//
- virtual bool MoveFileLocal(
+ virtual void MoveFileLocal(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& src_url,
const FileSystemURL& dest_url,
@@ -251,8 +238,6 @@ class WEBKIT_STORAGE_BROWSER_EXPORT AsyncFileUtil {
// LocalFileSystemOperation::Copy or Move calls this for cross-filesystem
// cases.
//
- // This returns false if it fails to post an async task.
- //
// This reports following error code via |callback|:
// - PLATFORM_FILE_ERROR_NOT_FOUND if |src_file_path|
// or the parent directory of |dest_url| does not exist.
@@ -261,7 +246,7 @@ class WEBKIT_STORAGE_BROWSER_EXPORT AsyncFileUtil {
// - PLATFORM_FILE_ERROR_FAILED if |dest_url| does not exist and
// its parent path is a file.
//
- virtual bool CopyInForeignFile(
+ virtual void CopyInForeignFile(
scoped_ptr<FileSystemOperationContext> context,
const base::FilePath& src_file_path,
const FileSystemURL& dest_url,
@@ -271,13 +256,11 @@ class WEBKIT_STORAGE_BROWSER_EXPORT AsyncFileUtil {
//
// LocalFileSystemOperation::RemoveFile calls this.
//
- // This returns false if it fails to post an async task.
- //
// This reports following error code via |callback|:
// - PLATFORM_FILE_ERROR_NOT_FOUND if |url| does not exist.
// - PLATFORM_FILE_ERROR_NOT_A_FILE if |url| is not a file.
//
- virtual bool DeleteFile(
+ virtual void DeleteFile(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const StatusCallback& callback) = 0;
@@ -286,14 +269,12 @@ class WEBKIT_STORAGE_BROWSER_EXPORT AsyncFileUtil {
//
// LocalFileSystemOperation::RemoveDirectory calls this.
//
- // This returns false if it fails to post an async task.
- //
// This reports following error code via |callback|:
// - PLATFORM_FILE_ERROR_NOT_FOUND if |url| does not exist.
// - PLATFORM_FILE_ERROR_NOT_A_DIRECTORY if |url| is not a directory.
// - PLATFORM_FILE_ERROR_NOT_EMPTY if |url| is not empty.
//
- virtual bool DeleteDirectory(
+ virtual void DeleteDirectory(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const StatusCallback& callback) = 0;
@@ -308,12 +289,10 @@ class WEBKIT_STORAGE_BROWSER_EXPORT AsyncFileUtil {
// This method is optional, so if not supported,
// PLATFORM_ERROR_INVALID_OPERATION should be returned via |callback|.
//
- // This returns false if it fails to post an async task.
- //
// This reports following error code via |callback|:
// - PLATFORM_FILE_ERROR_NOT_FOUND if |url| does not exist.
// - PLATFORM_ERROR_INVALID_OPERATION if this operation is not supported.
- virtual bool DeleteRecursively(
+ virtual void DeleteRecursively(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const StatusCallback& callback) = 0;
@@ -342,8 +321,6 @@ class WEBKIT_STORAGE_BROWSER_EXPORT AsyncFileUtil {
//
// LocalFileSystemOperation::CreateSnapshotFile calls this.
//
- // This returns false if it fails to post an async task.
- //
// This reports following error code via |callback|:
// - PLATFORM_FILE_ERROR_NOT_FOUND if |url| does not exist.
// - PLATFORM_FILE_ERROR_NOT_A_FILE if |url| exists but is a directory.
@@ -351,7 +328,7 @@ class WEBKIT_STORAGE_BROWSER_EXPORT AsyncFileUtil {
// The field values of |file_info| are undefined (implementation
// dependent) in error cases, and the caller should always
// check the return code.
- virtual bool CreateSnapshotFile(
+ virtual void CreateSnapshotFile(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const CreateSnapshotFileCallback& callback) = 0;
diff --git a/webkit/browser/fileapi/async_file_util_adapter.cc b/webkit/browser/fileapi/async_file_util_adapter.cc
index ecc1ba2..ca12953 100644
--- a/webkit/browser/fileapi/async_file_util_adapter.cc
+++ b/webkit/browser/fileapi/async_file_util_adapter.cc
@@ -36,8 +36,7 @@ class EnsureFileExistsHelper {
}
void Reply(const AsyncFileUtil::EnsureFileExistsCallback& callback) {
- if (!callback.is_null())
- callback.Run(error_, created_);
+ callback.Run(error_, created_);
}
private:
@@ -65,15 +64,13 @@ class GetFileInfoHelper {
}
void ReplyFileInfo(const AsyncFileUtil::GetFileInfoCallback& callback) {
- if (!callback.is_null())
- callback.Run(error_, file_info_);
+ callback.Run(error_, file_info_);
}
void ReplySnapshotFile(
const AsyncFileUtil::CreateSnapshotFileCallback& callback) {
- if (!callback.is_null())
- callback.Run(error_, file_info_, platform_path_,
- ShareableFileReference::GetOrCreate(scoped_file_.Pass()));
+ callback.Run(error_, file_info_, platform_path_,
+ ShareableFileReference::GetOrCreate(scoped_file_.Pass()));
}
private:
@@ -120,8 +117,7 @@ class ReadDirectoryHelper {
}
void Reply(const AsyncFileUtil::ReadDirectoryCallback& callback) {
- if (!callback.is_null())
- callback.Run(error_, entries_, false /* has_more */);
+ callback.Run(error_, entries_, false /* has_more */);
}
private:
@@ -149,191 +145,202 @@ AsyncFileUtilAdapter::AsyncFileUtilAdapter(
AsyncFileUtilAdapter::~AsyncFileUtilAdapter() {
}
-bool AsyncFileUtilAdapter::CreateOrOpen(
+void AsyncFileUtilAdapter::CreateOrOpen(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
int file_flags,
const CreateOrOpenCallback& callback) {
FileSystemOperationContext* context_ptr = context.release();
- return base::FileUtilProxy::RelayCreateOrOpen(
+ const bool success = base::FileUtilProxy::RelayCreateOrOpen(
context_ptr->task_runner(),
Bind(&FileSystemFileUtil::CreateOrOpen, Unretained(sync_file_util_.get()),
context_ptr, url, file_flags),
Bind(&FileSystemFileUtil::Close, Unretained(sync_file_util_.get()),
base::Owned(context_ptr)),
Bind(&RunCreateOrOpenCallback, callback));
+ DCHECK(success);
}
-bool AsyncFileUtilAdapter::EnsureFileExists(
+void AsyncFileUtilAdapter::EnsureFileExists(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const EnsureFileExistsCallback& callback) {
EnsureFileExistsHelper* helper = new EnsureFileExistsHelper;
FileSystemOperationContext* context_ptr = context.release();
- return context_ptr->task_runner()->PostTaskAndReply(
+ const bool success = context_ptr->task_runner()->PostTaskAndReply(
FROM_HERE,
Bind(&EnsureFileExistsHelper::RunWork, Unretained(helper),
sync_file_util_.get(), base::Owned(context_ptr), url),
Bind(&EnsureFileExistsHelper::Reply, Owned(helper), callback));
+ DCHECK(success);
}
-bool AsyncFileUtilAdapter::CreateDirectory(
+void AsyncFileUtilAdapter::CreateDirectory(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
bool exclusive,
bool recursive,
const StatusCallback& callback) {
FileSystemOperationContext* context_ptr = context.release();
- return base::PostTaskAndReplyWithResult(
+ const bool success = base::PostTaskAndReplyWithResult(
context_ptr->task_runner(), FROM_HERE,
Bind(&FileSystemFileUtil::CreateDirectory,
Unretained(sync_file_util_.get()),
base::Owned(context_ptr), url, exclusive, recursive),
callback);
+ DCHECK(success);
}
-bool AsyncFileUtilAdapter::GetFileInfo(
+void AsyncFileUtilAdapter::GetFileInfo(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const GetFileInfoCallback& callback) {
FileSystemOperationContext* context_ptr = context.release();
GetFileInfoHelper* helper = new GetFileInfoHelper;
- return context_ptr->task_runner()->PostTaskAndReply(
+ const bool success = context_ptr->task_runner()->PostTaskAndReply(
FROM_HERE,
Bind(&GetFileInfoHelper::GetFileInfo, Unretained(helper),
sync_file_util_.get(), base::Owned(context_ptr), url),
Bind(&GetFileInfoHelper::ReplyFileInfo, Owned(helper), callback));
+ DCHECK(success);
}
-bool AsyncFileUtilAdapter::ReadDirectory(
+void AsyncFileUtilAdapter::ReadDirectory(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const ReadDirectoryCallback& callback) {
FileSystemOperationContext* context_ptr = context.release();
ReadDirectoryHelper* helper = new ReadDirectoryHelper;
- return context_ptr->task_runner()->PostTaskAndReply(
+ const bool success = context_ptr->task_runner()->PostTaskAndReply(
FROM_HERE,
Bind(&ReadDirectoryHelper::RunWork, Unretained(helper),
sync_file_util_.get(), base::Owned(context_ptr), url),
Bind(&ReadDirectoryHelper::Reply, Owned(helper), callback));
+ DCHECK(success);
}
-bool AsyncFileUtilAdapter::Touch(
+void AsyncFileUtilAdapter::Touch(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const base::Time& last_access_time,
const base::Time& last_modified_time,
const StatusCallback& callback) {
FileSystemOperationContext* context_ptr = context.release();
- return base::PostTaskAndReplyWithResult(
+ const bool success = base::PostTaskAndReplyWithResult(
context_ptr->task_runner(), FROM_HERE,
Bind(&FileSystemFileUtil::Touch, Unretained(sync_file_util_.get()),
base::Owned(context_ptr), url,
last_access_time, last_modified_time),
callback);
+ DCHECK(success);
}
-bool AsyncFileUtilAdapter::Truncate(
+void AsyncFileUtilAdapter::Truncate(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
int64 length,
const StatusCallback& callback) {
FileSystemOperationContext* context_ptr = context.release();
- return base::PostTaskAndReplyWithResult(
+ const bool success = base::PostTaskAndReplyWithResult(
context_ptr->task_runner(), FROM_HERE,
Bind(&FileSystemFileUtil::Truncate, Unretained(sync_file_util_.get()),
base::Owned(context_ptr), url, length),
callback);
+ DCHECK(success);
}
-bool AsyncFileUtilAdapter::CopyFileLocal(
+void AsyncFileUtilAdapter::CopyFileLocal(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& src_url,
const FileSystemURL& dest_url,
const StatusCallback& callback) {
FileSystemOperationContext* context_ptr = context.release();
- return base::PostTaskAndReplyWithResult(
+ const bool success = base::PostTaskAndReplyWithResult(
context_ptr->task_runner(), FROM_HERE,
Bind(&FileSystemFileUtil::CopyOrMoveFile,
Unretained(sync_file_util_.get()),
base::Owned(context_ptr), src_url, dest_url, true /* copy */),
callback);
+ DCHECK(success);
}
-bool AsyncFileUtilAdapter::MoveFileLocal(
+void AsyncFileUtilAdapter::MoveFileLocal(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& src_url,
const FileSystemURL& dest_url,
const StatusCallback& callback) {
FileSystemOperationContext* context_ptr = context.release();
- return base::PostTaskAndReplyWithResult(
+ const bool success = base::PostTaskAndReplyWithResult(
context_ptr->task_runner(), FROM_HERE,
Bind(&FileSystemFileUtil::CopyOrMoveFile,
Unretained(sync_file_util_.get()),
base::Owned(context_ptr), src_url, dest_url, false /* copy */),
callback);
+ DCHECK(success);
}
-bool AsyncFileUtilAdapter::CopyInForeignFile(
+void AsyncFileUtilAdapter::CopyInForeignFile(
scoped_ptr<FileSystemOperationContext> context,
const base::FilePath& src_file_path,
const FileSystemURL& dest_url,
const StatusCallback& callback) {
FileSystemOperationContext* context_ptr = context.release();
- return base::PostTaskAndReplyWithResult(
+ const bool success = base::PostTaskAndReplyWithResult(
context_ptr->task_runner(), FROM_HERE,
Bind(&FileSystemFileUtil::CopyInForeignFile,
Unretained(sync_file_util_.get()),
base::Owned(context_ptr), src_file_path, dest_url),
callback);
+ DCHECK(success);
}
-bool AsyncFileUtilAdapter::DeleteFile(
+void AsyncFileUtilAdapter::DeleteFile(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const StatusCallback& callback) {
FileSystemOperationContext* context_ptr = context.release();
- return base::PostTaskAndReplyWithResult(
+ const bool success = base::PostTaskAndReplyWithResult(
context_ptr->task_runner(), FROM_HERE,
Bind(&FileSystemFileUtil::DeleteFile,
Unretained(sync_file_util_.get()),
base::Owned(context_ptr), url),
callback);
+ DCHECK(success);
}
-bool AsyncFileUtilAdapter::DeleteDirectory(
+void AsyncFileUtilAdapter::DeleteDirectory(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const StatusCallback& callback) {
FileSystemOperationContext* context_ptr = context.release();
- return base::PostTaskAndReplyWithResult(
+ const bool success = base::PostTaskAndReplyWithResult(
context_ptr->task_runner(), FROM_HERE,
Bind(&FileSystemFileUtil::DeleteDirectory,
Unretained(sync_file_util_.get()),
base::Owned(context_ptr), url),
callback);
+ DCHECK(success);
}
-bool AsyncFileUtilAdapter::DeleteRecursively(
+void AsyncFileUtilAdapter::DeleteRecursively(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const StatusCallback& callback) {
- if (!callback.is_null())
- callback.Run(base::PLATFORM_FILE_ERROR_INVALID_OPERATION);
- return true;
+ callback.Run(base::PLATFORM_FILE_ERROR_INVALID_OPERATION);
}
-bool AsyncFileUtilAdapter::CreateSnapshotFile(
+void AsyncFileUtilAdapter::CreateSnapshotFile(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const CreateSnapshotFileCallback& callback) {
FileSystemOperationContext* context_ptr = context.release();
GetFileInfoHelper* helper = new GetFileInfoHelper;
- return context_ptr->task_runner()->PostTaskAndReply(
+ const bool success = context_ptr->task_runner()->PostTaskAndReply(
FROM_HERE,
Bind(&GetFileInfoHelper::CreateSnapshotFile, Unretained(helper),
sync_file_util_.get(), base::Owned(context_ptr), url),
Bind(&GetFileInfoHelper::ReplySnapshotFile, Owned(helper), callback));
+ DCHECK(success);
}
} // namespace fileapi
diff --git a/webkit/browser/fileapi/async_file_util_adapter.h b/webkit/browser/fileapi/async_file_util_adapter.h
index ebe06f8..9da3db9 100644
--- a/webkit/browser/fileapi/async_file_util_adapter.h
+++ b/webkit/browser/fileapi/async_file_util_adapter.h
@@ -38,68 +38,68 @@ class WEBKIT_STORAGE_BROWSER_EXPORT_PRIVATE AsyncFileUtilAdapter
}
// AsyncFileUtil overrides.
- virtual bool CreateOrOpen(
+ virtual void CreateOrOpen(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
int file_flags,
const CreateOrOpenCallback& callback) OVERRIDE;
- virtual bool EnsureFileExists(
+ virtual void EnsureFileExists(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const EnsureFileExistsCallback& callback) OVERRIDE;
- virtual bool CreateDirectory(
+ virtual void CreateDirectory(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
bool exclusive,
bool recursive,
const StatusCallback& callback) OVERRIDE;
- virtual bool GetFileInfo(
+ virtual void GetFileInfo(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const GetFileInfoCallback& callback) OVERRIDE;
- virtual bool ReadDirectory(
+ virtual void ReadDirectory(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const ReadDirectoryCallback& callback) OVERRIDE;
- virtual bool Touch(
+ virtual void Touch(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const base::Time& last_access_time,
const base::Time& last_modified_time,
const StatusCallback& callback) OVERRIDE;
- virtual bool Truncate(
+ virtual void Truncate(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
int64 length,
const StatusCallback& callback) OVERRIDE;
- virtual bool CopyFileLocal(
+ virtual void CopyFileLocal(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& src_url,
const FileSystemURL& dest_url,
const StatusCallback& callback) OVERRIDE;
- virtual bool MoveFileLocal(
+ virtual void MoveFileLocal(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& src_url,
const FileSystemURL& dest_url,
const StatusCallback& callback) OVERRIDE;
- virtual bool CopyInForeignFile(
+ virtual void CopyInForeignFile(
scoped_ptr<FileSystemOperationContext> context,
const base::FilePath& src_file_path,
const FileSystemURL& dest_url,
const StatusCallback& callback) OVERRIDE;
- virtual bool DeleteFile(
+ virtual void DeleteFile(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const StatusCallback& callback) OVERRIDE;
- virtual bool DeleteDirectory(
+ virtual void DeleteDirectory(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const StatusCallback& callback) OVERRIDE;
- virtual bool DeleteRecursively(
+ virtual void DeleteRecursively(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const StatusCallback& callback) OVERRIDE;
- virtual bool CreateSnapshotFile(
+ virtual void CreateSnapshotFile(
scoped_ptr<FileSystemOperationContext> context,
const FileSystemURL& url,
const CreateSnapshotFileCallback& callback) OVERRIDE;
diff --git a/webkit/browser/fileapi/file_system_operation_context.h b/webkit/browser/fileapi/file_system_operation_context.h
index 866ce69..4fae428 100644
--- a/webkit/browser/fileapi/file_system_operation_context.h
+++ b/webkit/browser/fileapi/file_system_operation_context.h
@@ -32,6 +32,7 @@ class WEBKIT_STORAGE_BROWSER_EXPORT_PRIVATE FileSystemOperationContext
explicit FileSystemOperationContext(FileSystemContext* context);
// Specifies |task_runner| which the operation is performed on.
+ // The backend of |task_runner| must outlive the IO thread.
FileSystemOperationContext(FileSystemContext* context,
base::SequencedTaskRunner* task_runner);