Index: webkit/fileapi/file_system_path_manager.h |
=================================================================== |
--- webkit/fileapi/file_system_path_manager.h (revision 79142) |
+++ webkit/fileapi/file_system_path_manager.h (working copy) |
@@ -19,6 +19,8 @@ |
namespace fileapi { |
+class SandboxMountPointProvider; |
+ |
// TODO(kinuko): Probably this module must be called FileSystemPathUtil |
// or something similar. |
@@ -49,11 +51,17 @@ |
// Retrieves the root path for the given |origin_url| and |type|, and |
// calls the given |callback| with the root path and name. |
// If |create| is true this also creates the directory if it doesn't exist. |
- void GetFileSystemRootPath(const GURL& origin_url, |
- fileapi::FileSystemType type, |
+ virtual void GetFileSystemRootPath(const GURL& origin_url, |
+ FileSystemType type, |
bool create, |
- GetRootPathCallback* callback); |
+ FileSystemPathManager::GetRootPathCallback* |
+ callback); |
+ // Like GetFileSystemRootPath, but synchronous, and can be called only while |
+ // running on the file thread. |
+ virtual FilePath GetFileSystemRootPathOnFileThread(const GURL& origin_url, |
+ FileSystemType type, |
+ bool create); |
// Cracks the given |path|, retrieves the information embedded in the path |
// and populates |origin_url|, |type| and |virtual_path|. The |virtual_path| |
// is a sandboxed path in the file system, i.e. the relative path to the |
@@ -67,66 +75,26 @@ |
// filesystem. |
bool IsAllowedScheme(const GURL& url) const; |
- // The FileSystem directory name. |
- static const FilePath::CharType kFileSystemDirectory[]; |
- |
- static const char kPersistentName[]; |
- static const char kTemporaryName[]; |
- |
- const FilePath& base_path() const { |
- return base_path_; |
- } |
- |
- // Checks if a given |name| contains any restricted names/chars in it. |
- static bool IsRestrictedFileName(const FilePath& filename); |
- |
// Returns the string for the given |type|. |
// Returns an empty string if the |type| is invalid. |
static std::string GetFileSystemTypeString(fileapi::FileSystemType type); |
- // Returns the origin identifier string, which is used as a part of the |
- // sandboxed path component, for the given |url|. |
- static std::string GetOriginIdentifierFromURL(const GURL& url); |
+ // Checks if a given |name| contains any restricted names/chars in it. |
+ bool IsRestrictedFileName(FileSystemType type, |
+ const FilePath& filename); |
- // Gets a base directory path of the sandboxed filesystem that is |
- // specified by |origin_identifier| and |type|. |
- // |base_path| must be pointing the FileSystem's data directory |
- // under the profile directory, i.e. <profile_dir>/kFileSystemDirectory. |
- // Returns an empty path if any of the given parameters are invalid. |
- // Returned directory path does not contain 'unique' part, therefore |
- // it is not an actural root path for the filesystem. |
- static FilePath GetFileSystemBaseDirectoryForOriginAndType( |
- const FilePath& base_path, |
- const std::string& origin_identifier, |
- fileapi::FileSystemType type); |
+ SandboxMountPointProvider* sandbox_provider() const { |
+ return sandbox_provider_.get(); |
+ } |
- // Enumerates origins under the given |base_path|. |
- // This must be used on the FILE thread. |
- class OriginEnumerator { |
- public: |
- OriginEnumerator(const FilePath& base_path); |
+ bool is_incognito() const { |
+ return is_incognito_; |
+ } |
- // Returns the next origin identifier. Returns empty if there are no |
- // more origins. |
- std::string Next(); |
- |
- bool HasTemporary(); |
- bool HasPersistent(); |
- const FilePath& path() { return current_; } |
- |
- private: |
- file_util::FileEnumerator enumerator_; |
- FilePath current_; |
- }; |
- |
private: |
- class GetFileSystemRootPathTask; |
- |
- scoped_refptr<base::MessageLoopProxy> file_message_loop_; |
- |
- const FilePath base_path_; |
const bool is_incognito_; |
const bool allow_file_access_from_files_; |
+ scoped_ptr<SandboxMountPointProvider> sandbox_provider_; |
DISALLOW_COPY_AND_ASSIGN(FileSystemPathManager); |
}; |