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

Unified Diff: webkit/fileapi/file_system_url.h

Issue 12258021: Fix filesystem API file_handlers to work for drive on ChromeOS. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 7 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
« no previous file with comments | « webkit/fileapi/file_system_context.cc ('k') | webkit/fileapi/file_system_url.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/fileapi/file_system_url.h
diff --git a/webkit/fileapi/file_system_url.h b/webkit/fileapi/file_system_url.h
index 29e6feed51a55811f1eeecf812813b0a62e82933..7e15ad4277bfa3ed88ba01da3d20e08d3ace1274 100644
--- a/webkit/fileapi/file_system_url.h
+++ b/webkit/fileapi/file_system_url.h
@@ -120,6 +120,15 @@ class WEBKIT_STORAGE_EXPORT FileSystemURL {
// Returns true if this URL is a strict parent of the |child|.
bool IsParent(const FileSystemURL& child) const;
+ // Returns URL to be used in file system operations. In general the returned
+ // URL is the same as |this|. The exceptions are FileSystemURLs that are build
+ // on top of other FileSystemURLs (e.g. Isolated urls on ChromeOS are build on
+ // top of External urls). In this case the underlying FileSystemURL is
+ // returned.
+ //
+ // Note that the underlying url is determined recursively.
+ FileSystemURL GetForOperations() const;
+
bool operator==(const FileSystemURL& that) const;
struct WEBKIT_STORAGE_EXPORT Comparator {
@@ -143,6 +152,10 @@ class WEBKIT_STORAGE_EXPORT FileSystemURL {
FileSystemType cracked_type,
const base::FilePath& cracked_path);
+ // Sets parameters for the underlying file system URL (the one that will be
+ // returned by |GetForOperations|) that differ from |this|.
+ void SetUnderlyingURL(const FileSystemURL& underlying_url);
+
bool is_valid_;
GURL origin_;
@@ -154,6 +167,12 @@ class WEBKIT_STORAGE_EXPORT FileSystemURL {
std::string filesystem_id_;
base::FilePath virtual_path_;
+ // Parameters for the underlying file system URL that are different from this
+ // URL.
+ bool has_underlying_url_;
+ std::string underlying_filesystem_id_;
+ FileSystemType underlying_type_;
+ base::FilePath underlying_virtual_path_;
kinuko 2013/03/15 06:54:39 Hmm, do we need all these additional params? If so
tonibarzic 2013/03/15 07:36:57 we could do without underlaying virtual path, and
kinuko 2013/03/17 21:39:09 So are these changes basically for not changing th
};
typedef std::set<FileSystemURL, FileSystemURL::Comparator> FileSystemURLSet;
« no previous file with comments | « webkit/fileapi/file_system_context.cc ('k') | webkit/fileapi/file_system_url.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698