OLD | NEW |
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_FILE_SYSTEM_TYPES_H_ | 5 #ifndef WEBKIT_FILEAPI_FILE_SYSTEM_TYPES_H_ |
6 #define WEBKIT_FILEAPI_FILE_SYSTEM_TYPES_H_ | 6 #define WEBKIT_FILEAPI_FILE_SYSTEM_TYPES_H_ |
7 | 7 |
8 #include "third_party/WebKit/Source/Platform/chromium/public/WebFileSystem.h" | 8 #include "third_party/WebKit/Source/Platform/chromium/public/WebFileSystem.h" |
| 9 #include "third_party/WebKit/Source/Platform/chromium/public/WebFileSystemType.h
" |
9 | 10 |
10 namespace fileapi { | 11 namespace fileapi { |
11 | 12 |
12 enum FileSystemType { | 13 enum FileSystemType { |
13 // Indicates uninitialized or invalid filesystem type. | 14 // Indicates uninitialized or invalid filesystem type. |
14 kFileSystemTypeUnknown = -1, | 15 kFileSystemTypeUnknown = -1, |
15 | 16 |
16 // ------------------------------------------------------------------------ | 17 // ------------------------------------------------------------------------ |
17 // Public FileSystem types, that are embedded in filesystem: URL and exposed | 18 // Public FileSystem types, that are embedded in filesystem: URL and exposed |
18 // to WebKit/renderer. Both Chrome and WebKit know how to handle these types. | 19 // to WebKit/renderer. Both Chrome and WebKit know how to handle these types. |
19 | 20 |
20 // Following two types are for TEMPORARY or PERSISTENT filesystems that | 21 // Following two types are for TEMPORARY or PERSISTENT filesystems that |
21 // can be used by webapps via standard app-facing API | 22 // can be used by webapps via standard app-facing API |
22 // as defined in File API: Directories and System. | 23 // as defined in File API: Directories and System. |
23 // http://www.w3.org/TR/file-system-api/#temporary-vs.-persistent-storage | 24 // http://www.w3.org/TR/file-system-api/#temporary-vs.-persistent-storage |
24 // They are sandboxed filesystems; all the files in the filesystems are | 25 // They are sandboxed filesystems; all the files in the filesystems are |
25 // placed under the profile directory with path obfuscation and quota | 26 // placed under the profile directory with path obfuscation and quota |
26 // enforcement. | 27 // enforcement. |
| 28 #ifdef WEBKIT_USE_NEW_WEBFILESYSTEMTYPE |
| 29 kFileSystemTypeTemporary = WebKit::WebFileSystemTypeTemporary, |
| 30 kFileSystemTypePersistent = WebKit::WebFileSystemTypePersistent, |
| 31 |
| 32 // Indicates non-sandboxed isolated filesystem. |
| 33 kFileSystemTypeIsolated = WebKit::WebFileSystemTypeIsolated, |
| 34 |
| 35 // Indicates non-sandboxed filesystem where files are placed outside the |
| 36 // profile directory (thus called 'external' filesystem). |
| 37 // This filesystem is used only by Chrome OS as of writing. |
| 38 kFileSystemTypeExternal = WebKit::WebFileSystemTypeExternal, |
| 39 #else |
27 kFileSystemTypeTemporary = WebKit::WebFileSystem::TypeTemporary, | 40 kFileSystemTypeTemporary = WebKit::WebFileSystem::TypeTemporary, |
28 kFileSystemTypePersistent = WebKit::WebFileSystem::TypePersistent, | 41 kFileSystemTypePersistent = WebKit::WebFileSystem::TypePersistent, |
29 | 42 |
30 // Indicates non-sandboxed isolated filesystem. | 43 // Indicates non-sandboxed isolated filesystem. |
31 kFileSystemTypeIsolated = WebKit::WebFileSystem::TypeIsolated, | 44 kFileSystemTypeIsolated = WebKit::WebFileSystem::TypeIsolated, |
32 | 45 |
33 // Indicates non-sandboxed filesystem where files are placed outside the | 46 // Indicates non-sandboxed filesystem where files are placed outside the |
34 // profile directory (thus called 'external' filesystem). | 47 // profile directory (thus called 'external' filesystem). |
35 // This filesystem is used only by Chrome OS as of writing. | 48 // This filesystem is used only by Chrome OS as of writing. |
36 kFileSystemTypeExternal = WebKit::WebFileSystem::TypeExternal, | 49 kFileSystemTypeExternal = WebKit::WebFileSystem::TypeExternal, |
| 50 #endif |
37 | 51 |
38 // ------------------------------------------------------------------------ | 52 // ------------------------------------------------------------------------ |
39 // Private FileSystem types, that should not appear in filesystem: URL as | 53 // Private FileSystem types, that should not appear in filesystem: URL as |
40 // WebKit has no idea how to handle those types. | 54 // WebKit has no idea how to handle those types. |
41 // | 55 // |
42 // One can register (mount) a new file system with a private file system type | 56 // One can register (mount) a new file system with a private file system type |
43 // using IsolatedContext. Files in such file systems can be accessed via | 57 // using IsolatedContext. Files in such file systems can be accessed via |
44 // either Isolated or External public file system types (depending on | 58 // either Isolated or External public file system types (depending on |
45 // how the file system is registered). | 59 // how the file system is registered). |
46 // See the comments for IsolatedContext and/or FileSystemURL for more details. | 60 // See the comments for IsolatedContext and/or FileSystemURL for more details. |
(...skipping 26 matching lines...) Expand all Loading... |
73 kFileSystemTypeDrive, | 87 kFileSystemTypeDrive, |
74 | 88 |
75 // Indicates a Syncable sandboxed filesystem which can be backed by a | 89 // Indicates a Syncable sandboxed filesystem which can be backed by a |
76 // cloud storage service. | 90 // cloud storage service. |
77 kFileSystemTypeSyncable, | 91 kFileSystemTypeSyncable, |
78 }; | 92 }; |
79 | 93 |
80 } // namespace fileapi | 94 } // namespace fileapi |
81 | 95 |
82 #endif // WEBKIT_FILEAPI_FILE_SYSTEM_TYPES_H_ | 96 #endif // WEBKIT_FILEAPI_FILE_SYSTEM_TYPES_H_ |
OLD | NEW |