| 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_BROWSER_CHROMEOS_FILEAPI_CROS_MOUNT_POINT_PROVIDER_H_ | 5 #ifndef WEBKIT_BROWSER_CHROMEOS_FILEAPI_CROS_MOUNT_POINT_PROVIDER_H_ |
| 6 #define WEBKIT_BROWSER_CHROMEOS_FILEAPI_CROS_MOUNT_POINT_PROVIDER_H_ | 6 #define WEBKIT_BROWSER_CHROMEOS_FILEAPI_CROS_MOUNT_POINT_PROVIDER_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 // This could be called on any threads. | 52 // This could be called on any threads. |
| 53 static bool CanHandleURL(const fileapi::FileSystemURL& url); | 53 static bool CanHandleURL(const fileapi::FileSystemURL& url); |
| 54 | 54 |
| 55 // fileapi::FileSystemMountPointProvider overrides. | 55 // fileapi::FileSystemMountPointProvider overrides. |
| 56 virtual bool CanHandleType(fileapi::FileSystemType type) const OVERRIDE; | 56 virtual bool CanHandleType(fileapi::FileSystemType type) const OVERRIDE; |
| 57 virtual void ValidateFileSystemRoot( | 57 virtual void ValidateFileSystemRoot( |
| 58 const GURL& origin_url, | 58 const GURL& origin_url, |
| 59 fileapi::FileSystemType type, | 59 fileapi::FileSystemType type, |
| 60 bool create, | 60 bool create, |
| 61 const ValidateFileSystemCallback& callback) OVERRIDE; | 61 const ValidateFileSystemCallback& callback) OVERRIDE; |
| 62 virtual base::FilePath GetFileSystemRootPathOnFileThread( | |
| 63 const fileapi::FileSystemURL& url, | |
| 64 bool create) OVERRIDE; | |
| 65 virtual fileapi::FileSystemFileUtil* GetFileUtil( | 62 virtual fileapi::FileSystemFileUtil* GetFileUtil( |
| 66 fileapi::FileSystemType type) OVERRIDE; | 63 fileapi::FileSystemType type) OVERRIDE; |
| 67 virtual fileapi::AsyncFileUtil* GetAsyncFileUtil( | 64 virtual fileapi::AsyncFileUtil* GetAsyncFileUtil( |
| 68 fileapi::FileSystemType type) OVERRIDE; | 65 fileapi::FileSystemType type) OVERRIDE; |
| 69 virtual fileapi::CopyOrMoveFileValidatorFactory* | 66 virtual fileapi::CopyOrMoveFileValidatorFactory* |
| 70 GetCopyOrMoveFileValidatorFactory( | 67 GetCopyOrMoveFileValidatorFactory( |
| 71 fileapi::FileSystemType type, | 68 fileapi::FileSystemType type, |
| 72 base::PlatformFileError* error_code) OVERRIDE; | 69 base::PlatformFileError* error_code) OVERRIDE; |
| 73 virtual void InitializeCopyOrMoveFileValidatorFactory( | 70 virtual void InitializeCopyOrMoveFileValidatorFactory( |
| 74 fileapi::FileSystemType type, | 71 fileapi::FileSystemType type, |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 106 const std::string& extension_id, | 103 const std::string& extension_id, |
| 107 const base::FilePath& virtual_path) OVERRIDE; | 104 const base::FilePath& virtual_path) OVERRIDE; |
| 108 virtual void RevokeAccessForExtension( | 105 virtual void RevokeAccessForExtension( |
| 109 const std::string& extension_id) OVERRIDE; | 106 const std::string& extension_id) OVERRIDE; |
| 110 virtual bool GetVirtualPath(const base::FilePath& filesystem_path, | 107 virtual bool GetVirtualPath(const base::FilePath& filesystem_path, |
| 111 base::FilePath* virtual_path) OVERRIDE; | 108 base::FilePath* virtual_path) OVERRIDE; |
| 112 | 109 |
| 113 private: | 110 private: |
| 114 fileapi::RemoteFileSystemProxyInterface* GetRemoteProxy( | 111 fileapi::RemoteFileSystemProxyInterface* GetRemoteProxy( |
| 115 const std::string& mount_name) const; | 112 const std::string& mount_name) const; |
| 113 base::FilePath GetFileSystemRootPath(const fileapi::FileSystemURL& url) const; |
| 116 | 114 |
| 117 scoped_refptr<quota::SpecialStoragePolicy> special_storage_policy_; | 115 scoped_refptr<quota::SpecialStoragePolicy> special_storage_policy_; |
| 118 scoped_ptr<FileAccessPermissions> file_access_permissions_; | 116 scoped_ptr<FileAccessPermissions> file_access_permissions_; |
| 119 scoped_ptr<fileapi::AsyncFileUtilAdapter> local_file_util_; | 117 scoped_ptr<fileapi::AsyncFileUtilAdapter> local_file_util_; |
| 120 | 118 |
| 121 // Mount points specific to the owning context. | 119 // Mount points specific to the owning context. |
| 122 // | 120 // |
| 123 // Add/Remove MountPoints will affect only these mount points. | 121 // Add/Remove MountPoints will affect only these mount points. |
| 124 // | 122 // |
| 125 // It is legal to have mount points with the same name as in | 123 // It is legal to have mount points with the same name as in |
| 126 // system_mount_points_. Also, mount point paths may overlap with mount point | 124 // system_mount_points_. Also, mount point paths may overlap with mount point |
| 127 // paths in system_mount_points_. In both cases mount points in | 125 // paths in system_mount_points_. In both cases mount points in |
| 128 // |mount_points_| will have a priority. | 126 // |mount_points_| will have a priority. |
| 129 // E.g. if |mount_points_| map 'foo1' to '/foo/foo1' and | 127 // E.g. if |mount_points_| map 'foo1' to '/foo/foo1' and |
| 130 // |file_system_mount_points_| map 'xxx' to '/foo/foo1/xxx', |GetVirtualPaths| | 128 // |file_system_mount_points_| map 'xxx' to '/foo/foo1/xxx', |GetVirtualPaths| |
| 131 // will resolve '/foo/foo1/xxx/yyy' as 'foo1/xxx/yyy' (i.e. the mapping from | 129 // will resolve '/foo/foo1/xxx/yyy' as 'foo1/xxx/yyy' (i.e. the mapping from |
| 132 // |mount_points_| will be used). | 130 // |mount_points_| will be used). |
| 133 scoped_refptr<fileapi::ExternalMountPoints> mount_points_; | 131 scoped_refptr<fileapi::ExternalMountPoints> mount_points_; |
| 134 | 132 |
| 135 // Globally visible mount points. System MountPonts instance should outlive | 133 // Globally visible mount points. System MountPonts instance should outlive |
| 136 // all CrosMountPointProvider instances, so raw pointer is safe. | 134 // all CrosMountPointProvider instances, so raw pointer is safe. |
| 137 fileapi::ExternalMountPoints* system_mount_points_; | 135 fileapi::ExternalMountPoints* system_mount_points_; |
| 138 | 136 |
| 139 DISALLOW_COPY_AND_ASSIGN(CrosMountPointProvider); | 137 DISALLOW_COPY_AND_ASSIGN(CrosMountPointProvider); |
| 140 }; | 138 }; |
| 141 | 139 |
| 142 } // namespace chromeos | 140 } // namespace chromeos |
| 143 | 141 |
| 144 #endif // WEBKIT_BROWSER_CHROMEOS_FILEAPI_CROS_MOUNT_POINT_PROVIDER_H_ | 142 #endif // WEBKIT_BROWSER_CHROMEOS_FILEAPI_CROS_MOUNT_POINT_PROVIDER_H_ |
| OLD | NEW |