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