Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(992)

Unified Diff: webkit/fileapi/file_system_path_manager.h

Issue 6603034: Stop returning the true root path of each filesystem from openFileSystem.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
};

Powered by Google App Engine
This is Rietveld 408576698