| Index: webkit/browser/fileapi/local_file_stream_writer.cc
|
| diff --git a/webkit/browser/fileapi/local_file_stream_writer.cc b/webkit/browser/fileapi/local_file_stream_writer.cc
|
| index 1796de5f4e894afd0dd8ad97cd63b339980b44d0..3a39153dc64bec2e9cfff13c37cd57abcb17501e 100644
|
| --- a/webkit/browser/fileapi/local_file_stream_writer.cc
|
| +++ b/webkit/browser/fileapi/local_file_stream_writer.cc
|
| @@ -17,14 +17,19 @@ namespace {
|
| const int kOpenFlagsForWrite = base::PLATFORM_FILE_OPEN |
|
| base::PLATFORM_FILE_WRITE |
|
| base::PLATFORM_FILE_ASYNC;
|
| +const int kCreateFlagsForWrite = base::PLATFORM_FILE_CREATE |
|
| + base::PLATFORM_FILE_WRITE |
|
| + base::PLATFORM_FILE_ASYNC;
|
|
|
| } // namespace
|
|
|
| FileStreamWriter* FileStreamWriter::CreateForLocalFile(
|
| base::TaskRunner* task_runner,
|
| const base::FilePath& file_path,
|
| - int64 initial_offset) {
|
| - return new LocalFileStreamWriter(task_runner, file_path, initial_offset);
|
| + int64 initial_offset,
|
| + OpenOrCreate open_or_create) {
|
| + return new LocalFileStreamWriter(
|
| + task_runner, file_path, initial_offset, open_or_create);
|
| }
|
|
|
| LocalFileStreamWriter::~LocalFileStreamWriter() {
|
| @@ -81,8 +86,10 @@ int LocalFileStreamWriter::Flush(const net::CompletionCallback& callback) {
|
|
|
| LocalFileStreamWriter::LocalFileStreamWriter(base::TaskRunner* task_runner,
|
| const base::FilePath& file_path,
|
| - int64 initial_offset)
|
| + int64 initial_offset,
|
| + OpenOrCreate open_or_create)
|
| : file_path_(file_path),
|
| + open_or_create_(open_or_create),
|
| initial_offset_(initial_offset),
|
| task_runner_(task_runner),
|
| has_pending_operation_(false),
|
| @@ -97,7 +104,9 @@ int LocalFileStreamWriter::InitiateOpen(
|
| stream_impl_.reset(new net::FileStream(NULL, task_runner_));
|
|
|
| return stream_impl_->Open(file_path_,
|
| - kOpenFlagsForWrite,
|
| + open_or_create_ == OPEN_EXISTING
|
| + ? kOpenFlagsForWrite
|
| + : kCreateFlagsForWrite,
|
| base::Bind(&LocalFileStreamWriter::DidOpen,
|
| weak_factory_.GetWeakPtr(),
|
| error_callback,
|
|
|