summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--webkit/fileapi/syncable/sync_status_code.cc40
-rw-r--r--webkit/fileapi/syncable/sync_status_code.h4
2 files changed, 44 insertions, 0 deletions
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_