Index: webkit/fileapi/file_system_file_stream_reader.h |
diff --git a/webkit/fileapi/file_system_file_stream_reader.h b/webkit/fileapi/file_system_file_stream_reader.h |
index 219c1068f6f0fc2b20ef2edc1b8c86b4291964d5..2dc5162c4909c1c80a7eface81e67ddecd7fc8dd 100644 |
--- a/webkit/fileapi/file_system_file_stream_reader.h |
+++ b/webkit/fileapi/file_system_file_stream_reader.h |
@@ -8,7 +8,9 @@ |
#include "base/bind.h" |
#include "base/memory/ref_counted.h" |
#include "base/platform_file.h" |
+#include "base/time.h" |
#include "webkit/fileapi/file_system_url.h" |
+#include "webkit/fileapi/fileapi_export.h" |
#include "webkit/blob/file_stream_reader.h" |
#include "webkit/blob/shareable_file_reference.h" |
@@ -30,12 +32,18 @@ class FileSystemContext; |
// filesystems but remote filesystem should implement its own reader |
// rather than relying on FileSystemOperation::GetSnapshotFile() which |
// may force downloading the entire contents for remote files. |
-class FileSystemFileStreamReader : public webkit_blob::FileStreamReader { |
+class FILEAPI_EXPORT_PRIVATE FileSystemFileStreamReader |
+ : public webkit_blob::FileStreamReader { |
public: |
// Creates a new FileReader for a filesystem URL |url| form |initial_offset|. |
+ // |expected_modification_time| specifies the expected last modification if |
+ // the value is non-null, the reader will check the underlying file's actual |
+ // modification time to see if the file has been modified, and if it does any |
+ // succeeding read operations should fail with ERR_UPLOAD_FILE_CHANGED error. |
FileSystemFileStreamReader(FileSystemContext* file_system_context, |
const FileSystemURL& url, |
- int64 initial_offset); |
+ int64 initial_offset, |
+ const base::Time& expected_modification_time); |
virtual ~FileSystemFileStreamReader(); |
// FileStreamReader overrides. |
@@ -58,6 +66,7 @@ class FileSystemFileStreamReader : public webkit_blob::FileStreamReader { |
scoped_refptr<FileSystemContext> file_system_context_; |
FileSystemURL url_; |
const int64 initial_offset_; |
+ const base::Time expected_modification_time_; |
scoped_ptr<webkit_blob::LocalFileStreamReader> local_file_reader_; |
scoped_refptr<webkit_blob::ShareableFileReference> snapshot_ref_; |
bool has_pending_create_snapshot_; |