Send OnModifyFile Notification when File Write completes successfully or fails but something was written. e.g. partial write before failure.
BUG=150060
Review URL: https://chromiumcodereview.appspot.com/10956064
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158784 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/webkit/fileapi/file_writer_delegate.h b/webkit/fileapi/file_writer_delegate.h
index 1b7bb16..6a6dff8 100644
--- a/webkit/fileapi/file_writer_delegate.h
+++ b/webkit/fileapi/file_writer_delegate.h
@@ -25,8 +25,20 @@
class FILEAPI_EXPORT_PRIVATE FileWriterDelegate
: public net::URLRequest::Delegate {
public:
+ enum WriteProgressStatus {
+ SUCCESS_IO_PENDING,
+ SUCCESS_COMPLETED,
+ ERROR_WRITE_STARTED,
+ ERROR_WRITE_NOT_STARTED,
+ };
+
+ typedef base::Callback<void(
+ base::PlatformFileError result,
+ int64 bytes,
+ WriteProgressStatus write_status)> DelegateWriteCallback;
+
FileWriterDelegate(
- const FileSystemOperation::WriteCallback& write_callback,
+ const DelegateWriteCallback& write_callback,
scoped_ptr<FileStreamWriter> file_writer);
virtual ~FileWriterDelegate();
@@ -67,10 +79,12 @@
void OnWriteCancelled(int status);
FileSystemQuotaUtil* quota_util() const;
+ WriteProgressStatus GetCompletionStatusOnError() const;
- FileSystemOperation::WriteCallback write_callback_;
+ DelegateWriteCallback write_callback_;
scoped_ptr<FileStreamWriter> file_stream_writer_;
base::Time last_progress_event_time_;
+ bool writing_started_;
int bytes_written_backlog_;
int bytes_written_;
int bytes_read_;