From 868dca9c230da3eddfa374b4619a82c22e58215b Mon Sep 17 00:00:00 2001 From: "kinuko@chromium.org" Date: Thu, 25 Oct 2012 06:47:35 +0000 Subject: Implement PlatformFileErrorToSyncStatusCode BUG=157788 TEST=none Review URL: https://codereview.chromium.org/11264030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@164025 0039d316-1c4b-4281-b951-d872f2087c98 --- webkit/fileapi/syncable/sync_status_code.cc | 40 +++++++++++++++++++++++++++++ webkit/fileapi/syncable/sync_status_code.h | 4 +++ 2 files changed, 44 insertions(+) diff --git a/webkit/fileapi/syncable/sync_status_code.cc b/webkit/fileapi/syncable/sync_status_code.cc index b249679..2586382 100644 --- a/webkit/fileapi/syncable/sync_status_code.cc +++ b/webkit/fileapi/syncable/sync_status_code.cc @@ -21,4 +21,44 @@ SyncStatusCode LevelDBStatusToSyncStatusCode(const leveldb::Status& status) { return SYNC_DATABASE_ERROR_FAILED; } +SyncStatusCode PlatformFileErrorToSyncStatusCode( + base::PlatformFileError file_error) { + switch (file_error) { + case base::PLATFORM_FILE_OK: + return SYNC_STATUS_OK; + case base::PLATFORM_FILE_ERROR_FAILED: + return SYNC_FILE_ERROR_FAILED; + case base::PLATFORM_FILE_ERROR_IN_USE: + return SYNC_FILE_ERROR_IN_USE; + case base::PLATFORM_FILE_ERROR_EXISTS: + return SYNC_FILE_ERROR_EXISTS; + case base::PLATFORM_FILE_ERROR_NOT_FOUND: + return SYNC_FILE_ERROR_NOT_FOUND; + case base::PLATFORM_FILE_ERROR_ACCESS_DENIED: + return SYNC_FILE_ERROR_ACCESS_DENIED; + case base::PLATFORM_FILE_ERROR_TOO_MANY_OPENED: + return SYNC_FILE_ERROR_TOO_MANY_OPENED; + case base::PLATFORM_FILE_ERROR_NO_MEMORY: + return SYNC_FILE_ERROR_NO_MEMORY; + case base::PLATFORM_FILE_ERROR_NO_SPACE: + return SYNC_FILE_ERROR_NO_SPACE; + case base::PLATFORM_FILE_ERROR_NOT_A_DIRECTORY: + return SYNC_FILE_ERROR_NOT_A_DIRECTORY; + case base::PLATFORM_FILE_ERROR_INVALID_OPERATION: + return SYNC_FILE_ERROR_INVALID_OPERATION; + case base::PLATFORM_FILE_ERROR_SECURITY: + return SYNC_FILE_ERROR_SECURITY; + case base::PLATFORM_FILE_ERROR_ABORT: + return SYNC_FILE_ERROR_ABORT; + case base::PLATFORM_FILE_ERROR_NOT_A_FILE: + return SYNC_FILE_ERROR_NOT_A_FILE; + case base::PLATFORM_FILE_ERROR_NOT_EMPTY: + return SYNC_FILE_ERROR_NOT_EMPTY; + case base::PLATFORM_FILE_ERROR_INVALID_URL: + return SYNC_FILE_ERROR_INVALID_URL; + default: + return SYNC_FILE_ERROR_FAILED; + } +} + } // namespace fileapi diff --git a/webkit/fileapi/syncable/sync_status_code.h b/webkit/fileapi/syncable/sync_status_code.h index 9cc16c7..ede977d 100644 --- a/webkit/fileapi/syncable/sync_status_code.h +++ b/webkit/fileapi/syncable/sync_status_code.h @@ -5,6 +5,7 @@ #ifndef WEBKIT_FILEAPI_SYNCABLE_SYNC_STATUS_CODE_H_ #define WEBKIT_FILEAPI_SYNCABLE_SYNC_STATUS_CODE_H_ +#include "base/platform_file.h" #include "webkit/storage/webkit_storage_export.h" namespace leveldb { @@ -50,6 +51,9 @@ enum SyncStatusCode { WEBKIT_STORAGE_EXPORT SyncStatusCode LevelDBStatusToSyncStatusCode( const leveldb::Status& status); +WEBKIT_STORAGE_EXPORT SyncStatusCode PlatformFileErrorToSyncStatusCode( + base::PlatformFileError file_error); + } // namespace fileapi #endif // WEBKIT_FILEAPI_SYNCABLE_SYNC_STATUS_CODE_H_ -- cgit v1.1