| 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);
|
| };
|
|
|