Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(19)

Side by Side Diff: webkit/fileapi/isolated_file_util.h

Issue 10810053: Enables internal filesystem types via Isolated filesystems (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: layout test crash fix Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « webkit/fileapi/isolated_context_unittest.cc ('k') | webkit/fileapi/isolated_file_util.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef WEBKIT_FILEAPI_ISOLATED_FILE_UTIL_H_ 5 #ifndef WEBKIT_FILEAPI_ISOLATED_FILE_UTIL_H_
6 #define WEBKIT_FILEAPI_ISOLATED_FILE_UTIL_H_ 6 #define WEBKIT_FILEAPI_ISOLATED_FILE_UTIL_H_
7 7
8 #include "base/file_path.h"
9 #include "base/file_util_proxy.h"
10 #include "base/platform_file.h"
11 #include "webkit/fileapi/fileapi_export.h" 8 #include "webkit/fileapi/fileapi_export.h"
12 #include "webkit/fileapi/file_system_file_util.h" 9 #include "webkit/fileapi/local_file_util.h"
13
14 namespace base {
15 class Time;
16 }
17 10
18 namespace fileapi { 11 namespace fileapi {
19 12
20 class FileSystemOperationContext; 13 class FileSystemOperationContext;
21 class IsolatedContext;
22 14
23 class FILEAPI_EXPORT_PRIVATE IsolatedFileUtil : public FileSystemFileUtil { 15 class FILEAPI_EXPORT_PRIVATE IsolatedFileUtil : public LocalFileUtil {
24 public: 16 public:
25 IsolatedFileUtil(); 17 IsolatedFileUtil();
26 virtual ~IsolatedFileUtil() {} 18 virtual ~IsolatedFileUtil() {}
27 19
20 // LocalFileUtil overrides.
21 virtual PlatformFileError GetLocalFilePath(
22 FileSystemOperationContext* context,
23 const FileSystemURL& file_system_url,
24 FilePath* local_file_path) OVERRIDE;
25 };
26
27 // Dragged file system is a specialized IsolatedFileUtil where read access to
28 // the virtual root directory (i.e. empty cracked path case) is allowed
29 // and single isolated context may be associated with multiple file paths.
30 class FILEAPI_EXPORT_PRIVATE DraggedFileUtil : public IsolatedFileUtil {
31 public:
32 DraggedFileUtil();
33 virtual ~DraggedFileUtil() {}
34
28 // FileSystemFileUtil overrides. 35 // FileSystemFileUtil overrides.
29 virtual base::PlatformFileError CreateOrOpen(
30 FileSystemOperationContext* context,
31 const FileSystemURL& url,
32 int file_flags,
33 base::PlatformFile* file_handle,
34 bool* created) OVERRIDE;
35 virtual base::PlatformFileError Close(
36 FileSystemOperationContext* context,
37 base::PlatformFile file) OVERRIDE;
38 virtual base::PlatformFileError EnsureFileExists(
39 FileSystemOperationContext* context,
40 const FileSystemURL& url, bool* created) OVERRIDE;
41 virtual base::PlatformFileError CreateDirectory(
42 FileSystemOperationContext* context,
43 const FileSystemURL& url,
44 bool exclusive,
45 bool recursive) OVERRIDE;
46 virtual base::PlatformFileError GetFileInfo( 36 virtual base::PlatformFileError GetFileInfo(
47 FileSystemOperationContext* context, 37 FileSystemOperationContext* context,
48 const FileSystemURL& url, 38 const FileSystemURL& url,
49 base::PlatformFileInfo* file_info, 39 base::PlatformFileInfo* file_info,
50 FilePath* platform_path) OVERRIDE; 40 FilePath* platform_path) OVERRIDE;
51 virtual AbstractFileEnumerator* CreateFileEnumerator( 41 virtual AbstractFileEnumerator* CreateFileEnumerator(
52 FileSystemOperationContext* context, 42 FileSystemOperationContext* context,
53 const FileSystemURL& root_url, 43 const FileSystemURL& root_url,
54 bool recursive) OVERRIDE; 44 bool recursive) OVERRIDE;
55 virtual PlatformFileError GetLocalFilePath(
56 FileSystemOperationContext* context,
57 const FileSystemURL& file_system_url,
58 FilePath* local_file_path) OVERRIDE;
59 virtual base::PlatformFileError Touch(
60 FileSystemOperationContext* context,
61 const FileSystemURL& url,
62 const base::Time& last_access_time,
63 const base::Time& last_modified_time) OVERRIDE;
64 virtual base::PlatformFileError Truncate(
65 FileSystemOperationContext* context,
66 const FileSystemURL& url,
67 int64 length) OVERRIDE;
68 virtual bool PathExists( 45 virtual bool PathExists(
69 FileSystemOperationContext* context, 46 FileSystemOperationContext* context,
70 const FileSystemURL& url) OVERRIDE; 47 const FileSystemURL& url) OVERRIDE;
71 virtual bool DirectoryExists( 48 virtual bool DirectoryExists(
72 FileSystemOperationContext* context, 49 FileSystemOperationContext* context,
73 const FileSystemURL& url) OVERRIDE; 50 const FileSystemURL& url) OVERRIDE;
74 virtual bool IsDirectoryEmpty( 51 virtual bool IsDirectoryEmpty(
75 FileSystemOperationContext* context, 52 FileSystemOperationContext* context,
76 const FileSystemURL& url) OVERRIDE; 53 const FileSystemURL& url) OVERRIDE;
77 virtual base::PlatformFileError CopyOrMoveFile(
78 FileSystemOperationContext* context,
79 const FileSystemURL& src_url,
80 const FileSystemURL& dest_url,
81 bool copy) OVERRIDE;
82 virtual base::PlatformFileError CopyInForeignFile(
83 FileSystemOperationContext* context,
84 const FilePath& src_file_path,
85 const FileSystemURL& dest_url) OVERRIDE;
86 virtual base::PlatformFileError DeleteFile(
87 FileSystemOperationContext* context,
88 const FileSystemURL& url) OVERRIDE;
89 virtual base::PlatformFileError DeleteSingleDirectory(
90 FileSystemOperationContext* context,
91 const FileSystemURL& url) OVERRIDE;
92 virtual scoped_refptr<webkit_blob::ShareableFileReference>
93 CreateSnapshotFile(FileSystemOperationContext* context,
94 const FileSystemURL& url,
95 base::PlatformFileError* result,
96 base::PlatformFileInfo* file_info,
97 FilePath* platform_path) OVERRIDE;
98 54
99 private: 55 private:
100 // Returns false if the given |url| is not a valid path. 56 DISALLOW_COPY_AND_ASSIGN(DraggedFileUtil);
101 bool GetPlatformPath(const FileSystemURL& url,
102 FilePath* platform_path) const;
103 DISALLOW_COPY_AND_ASSIGN(IsolatedFileUtil);
104 }; 57 };
105 58
106 } // namespace fileapi 59 } // namespace fileapi
107 60
108 #endif // WEBKIT_FILEAPI_ISOLATED_FILE_UTIL_H_ 61 #endif // WEBKIT_FILEAPI_ISOLATED_FILE_UTIL_H_
OLDNEW
« no previous file with comments | « webkit/fileapi/isolated_context_unittest.cc ('k') | webkit/fileapi/isolated_file_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698