Chromium Code Reviews| Index: webkit/fileapi/file_system_path_manager.h |
| =================================================================== |
| --- webkit/fileapi/file_system_path_manager.h (revision 77587) |
| +++ 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_; |
|
kinuko
2011/03/14 11:03:57
Is it supposed to be a pointer to FSMountPointProv
ericu
2011/03/15 02:43:11
Currently it's important that this be a SandboxMou
kinuko
2011/03/16 19:33:38
It's a bit blur how we should separate the roles b
|
| DISALLOW_COPY_AND_ASSIGN(FileSystemPathManager); |
| }; |