| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef WEBKIT_BROWSER_FILEAPI_ASYNC_FILE_TEST_HELPER_H_ | |
| 6 #define WEBKIT_BROWSER_FILEAPI_ASYNC_FILE_TEST_HELPER_H_ | |
| 7 | |
| 8 #include "base/basictypes.h" | |
| 9 #include "webkit/browser/fileapi/file_system_operation.h" | |
| 10 #include "webkit/common/fileapi/file_system_types.h" | |
| 11 #include "webkit/common/quota/quota_status_code.h" | |
| 12 | |
| 13 namespace quota { | |
| 14 class QuotaManager; | |
| 15 } | |
| 16 | |
| 17 namespace fileapi { | |
| 18 | |
| 19 class FileSystemContext; | |
| 20 class FileSystemURL; | |
| 21 | |
| 22 // A helper class to perform async file operations in a synchronous way. | |
| 23 class AsyncFileTestHelper { | |
| 24 public: | |
| 25 typedef FileSystemOperation::FileEntryList FileEntryList; | |
| 26 typedef FileSystemOperation::CopyProgressCallback CopyProgressCallback; | |
| 27 | |
| 28 static const int64 kDontCheckSize; | |
| 29 | |
| 30 // Performs Copy from |src| to |dest| and returns the status code. | |
| 31 static base::File::Error Copy(FileSystemContext* context, | |
| 32 const FileSystemURL& src, | |
| 33 const FileSystemURL& dest); | |
| 34 | |
| 35 // Same as Copy, but this supports |progress_callback|. | |
| 36 static base::File::Error CopyWithProgress( | |
| 37 FileSystemContext* context, | |
| 38 const FileSystemURL& src, | |
| 39 const FileSystemURL& dest, | |
| 40 const CopyProgressCallback& progress_callback); | |
| 41 | |
| 42 // Performs Move from |src| to |dest| and returns the status code. | |
| 43 static base::File::Error Move(FileSystemContext* context, | |
| 44 const FileSystemURL& src, | |
| 45 const FileSystemURL& dest); | |
| 46 | |
| 47 // Removes the given |url|. | |
| 48 static base::File::Error Remove(FileSystemContext* context, | |
| 49 const FileSystemURL& url, | |
| 50 bool recursive); | |
| 51 | |
| 52 // Performs ReadDirectory on |url|. | |
| 53 static base::File::Error ReadDirectory(FileSystemContext* context, | |
| 54 const FileSystemURL& url, | |
| 55 FileEntryList* entries); | |
| 56 | |
| 57 // Creates a directory at |url|. | |
| 58 static base::File::Error CreateDirectory(FileSystemContext* context, | |
| 59 const FileSystemURL& url); | |
| 60 | |
| 61 // Creates a file at |url|. | |
| 62 static base::File::Error CreateFile(FileSystemContext* context, | |
| 63 const FileSystemURL& url); | |
| 64 | |
| 65 // Creates a file at |url| and fills with |buf|. | |
| 66 static base::File::Error CreateFileWithData( | |
| 67 FileSystemContext* context, | |
| 68 const FileSystemURL& url, | |
| 69 const char* buf, | |
| 70 int buf_size); | |
| 71 | |
| 72 // Truncates the file |url| to |size|. | |
| 73 static base::File::Error TruncateFile(FileSystemContext* context, | |
| 74 const FileSystemURL& url, | |
| 75 size_t size); | |
| 76 | |
| 77 // Retrieves File::Info for |url| and populates |file_info|. | |
| 78 static base::File::Error GetMetadata(FileSystemContext* context, | |
| 79 const FileSystemURL& url, | |
| 80 base::File::Info* file_info); | |
| 81 | |
| 82 // Retrieves FilePath for |url| and populates |platform_path|. | |
| 83 static base::File::Error GetPlatformPath(FileSystemContext* context, | |
| 84 const FileSystemURL& url, | |
| 85 base::FilePath* platform_path); | |
| 86 | |
| 87 // Returns true if a file exists at |url| with |size|. If |size| is | |
| 88 // kDontCheckSize it doesn't check the file size (but just check its | |
| 89 // existence). | |
| 90 static bool FileExists(FileSystemContext* context, | |
| 91 const FileSystemURL& url, | |
| 92 int64 size); | |
| 93 | |
| 94 // Returns true if a directory exists at |url|. | |
| 95 static bool DirectoryExists(FileSystemContext* context, | |
| 96 const FileSystemURL& url); | |
| 97 | |
| 98 // Returns usage and quota. It's valid to pass NULL to |usage| and/or |quota|. | |
| 99 static quota::QuotaStatusCode GetUsageAndQuota( | |
| 100 quota::QuotaManager* quota_manager, | |
| 101 const GURL& origin, | |
| 102 FileSystemType type, | |
| 103 int64* usage, | |
| 104 int64* quota); | |
| 105 }; | |
| 106 | |
| 107 } // namespace fileapi | |
| 108 | |
| 109 #endif // WEBKIT_BROWSER_FILEAPI_ASYNC_FILE_TEST_HELPER_H_ | |
| OLD | NEW |