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 STORAGE_BROWSER_FILEAPI_ISOLATED_FILE_SYSTEM_BACKEND_H_ | 5 #ifndef STORAGE_BROWSER_FILEAPI_ISOLATED_FILE_SYSTEM_BACKEND_H_ |
6 #define STORAGE_BROWSER_FILEAPI_ISOLATED_FILE_SYSTEM_BACKEND_H_ | 6 #define STORAGE_BROWSER_FILEAPI_ISOLATED_FILE_SYSTEM_BACKEND_H_ |
7 | 7 |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "storage/browser/fileapi/file_system_backend.h" | 9 #include "storage/browser/fileapi/file_system_backend.h" |
10 #include "storage/browser/fileapi/task_runner_bound_observer_list.h" | 10 #include "storage/browser/fileapi/task_runner_bound_observer_list.h" |
11 | 11 |
12 namespace storage { | 12 namespace storage { |
13 | 13 |
14 class AsyncFileUtilAdapter; | 14 class AsyncFileUtilAdapter; |
15 | 15 |
16 class IsolatedFileSystemBackend : public FileSystemBackend { | 16 class IsolatedFileSystemBackend : public FileSystemBackend { |
17 public: | 17 public: |
18 IsolatedFileSystemBackend(); | 18 IsolatedFileSystemBackend(bool use_for_type_native_local, |
| 19 bool use_for_type_platform_app); |
19 ~IsolatedFileSystemBackend() override; | 20 ~IsolatedFileSystemBackend() override; |
20 | 21 |
21 // FileSystemBackend implementation. | 22 // FileSystemBackend implementation. |
22 bool CanHandleType(FileSystemType type) const override; | 23 bool CanHandleType(FileSystemType type) const override; |
23 void Initialize(FileSystemContext* context) override; | 24 void Initialize(FileSystemContext* context) override; |
24 void ResolveURL(const FileSystemURL& url, | 25 void ResolveURL(const FileSystemURL& url, |
25 OpenFileSystemMode mode, | 26 OpenFileSystemMode mode, |
26 const OpenFileSystemCallback& callback) override; | 27 const OpenFileSystemCallback& callback) override; |
27 AsyncFileUtil* GetAsyncFileUtil(FileSystemType type) override; | 28 AsyncFileUtil* GetAsyncFileUtil(FileSystemType type) override; |
28 WatcherManager* GetWatcherManager(FileSystemType type) override; | 29 WatcherManager* GetWatcherManager(FileSystemType type) override; |
(...skipping 19 matching lines...) Expand all Loading... |
48 FileSystemContext* context) const override; | 49 FileSystemContext* context) const override; |
49 FileSystemQuotaUtil* GetQuotaUtil() override; | 50 FileSystemQuotaUtil* GetQuotaUtil() override; |
50 const UpdateObserverList* GetUpdateObservers( | 51 const UpdateObserverList* GetUpdateObservers( |
51 FileSystemType type) const override; | 52 FileSystemType type) const override; |
52 const ChangeObserverList* GetChangeObservers( | 53 const ChangeObserverList* GetChangeObservers( |
53 FileSystemType type) const override; | 54 FileSystemType type) const override; |
54 const AccessObserverList* GetAccessObservers( | 55 const AccessObserverList* GetAccessObservers( |
55 FileSystemType type) const override; | 56 FileSystemType type) const override; |
56 | 57 |
57 private: | 58 private: |
| 59 // Whether this object should handle native local filesystem types. Some |
| 60 // platforms (e.g. Chrome OS) may provide a different FileSystemBackend to |
| 61 // handle those types. |
| 62 const bool use_for_type_native_local_; |
| 63 |
| 64 // As above but for platform webapps. |
| 65 const bool use_for_type_platform_app_; |
| 66 |
58 scoped_ptr<AsyncFileUtilAdapter> isolated_file_util_; | 67 scoped_ptr<AsyncFileUtilAdapter> isolated_file_util_; |
59 scoped_ptr<AsyncFileUtilAdapter> dragged_file_util_; | 68 scoped_ptr<AsyncFileUtilAdapter> dragged_file_util_; |
60 scoped_ptr<AsyncFileUtilAdapter> transient_file_util_; | 69 scoped_ptr<AsyncFileUtilAdapter> transient_file_util_; |
61 }; | 70 }; |
62 | 71 |
63 } // namespace storage | 72 } // namespace storage |
64 | 73 |
65 #endif // STORAGE_BROWSER_FILEAPI_ISOLATED_FILE_SYSTEM_BACKEND_H_ | 74 #endif // STORAGE_BROWSER_FILEAPI_ISOLATED_FILE_SYSTEM_BACKEND_H_ |
OLD | NEW |