summaryrefslogtreecommitdiffstats
path: root/webkit/base
diff options
context:
space:
mode:
authorkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-28 10:19:45 +0000
committerkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-28 10:19:45 +0000
commit2cd2107178cc1c885a545c78f99e20ad4c1abe77 (patch)
tree73609092f90bf5f3c7de33830db408a4919ddb9c /webkit/base
parent71de432bf0e324d829172814ad981b2a21d5a162 (diff)
downloadchromium_src-2cd2107178cc1c885a545c78f99e20ad4c1abe77.zip
chromium_src-2cd2107178cc1c885a545c78f99e20ad4c1abe77.tar.gz
chromium_src-2cd2107178cc1c885a545c78f99e20ad4c1abe77.tar.bz2
Support FileSystem URL in File
BUG=110119 TEST=existing tests (more will be added when we add more implementation) Review URL: https://chromiumcodereview.appspot.com/10828252 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153651 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/base')
-rw-r--r--webkit/base/data_element.cc11
-rw-r--r--webkit/base/data_element.h15
2 files changed, 22 insertions, 4 deletions
diff --git a/webkit/base/data_element.cc b/webkit/base/data_element.cc
index 2e8fcf3..a514ac5 100644
--- a/webkit/base/data_element.cc
+++ b/webkit/base/data_element.cc
@@ -35,4 +35,15 @@ void DataElement::SetToBlobUrlRange(
length_ = length;
}
+void DataElement::SetToFileSystemUrlRange(
+ const GURL& filesystem_url,
+ uint64 offset, uint64 length,
+ const base::Time& expected_modification_time) {
+ type_ = TYPE_FILE_FILESYSTEM;
+ url_ = filesystem_url;
+ offset_ = offset;
+ length_ = length;
+ expected_modification_time_ = expected_modification_time;
+}
+
} // webkit_base
diff --git a/webkit/base/data_element.h b/webkit/base/data_element.h
index 61737e6..4a5c726 100644
--- a/webkit/base/data_element.h
+++ b/webkit/base/data_element.h
@@ -25,6 +25,7 @@ class WEBKIT_BASE_EXPORT DataElement {
TYPE_BYTES,
TYPE_FILE,
TYPE_BLOB,
+ TYPE_FILE_FILESYSTEM,
};
DataElement();
@@ -74,12 +75,17 @@ class WEBKIT_BASE_EXPORT DataElement {
void SetToBlobUrlRange(const GURL& blob_url,
uint64 offset, uint64 length);
+ // Sets TYPE_FILE_FILESYSTEM with range.
+ void SetToFileSystemUrlRange(const GURL& filesystem_url,
+ uint64 offset, uint64 length,
+ const base::Time& expected_modification_time);
+
private:
Type type_;
- std::vector<char> buf_;
- const char* bytes_;
- FilePath path_;
- GURL url_;
+ std::vector<char> buf_; // For TYPE_BYTES.
+ const char* bytes_; // For TYPE_BYTES.
+ FilePath path_; // For TYPE_FILE.
+ GURL url_; // For TYPE_BLOB or TYPE_FILE_FILESYSTEM.
uint64 offset_;
uint64 length_;
base::Time expected_modification_time_;
@@ -98,6 +104,7 @@ inline bool operator==(const DataElement& a, const DataElement& b) {
return a.path() == b.path() &&
a.expected_modification_time() == b.expected_modification_time();
case DataElement::TYPE_BLOB:
+ case DataElement::TYPE_FILE_FILESYSTEM:
return a.url() == b.url();
case DataElement::TYPE_UNKNOWN:
NOTREACHED();