| Index: webkit/browser/chromeos/fileapi/remote_file_stream_writer.cc
|
| diff --git a/webkit/browser/chromeos/fileapi/remote_file_stream_writer.cc b/webkit/browser/chromeos/fileapi/remote_file_stream_writer.cc
|
| deleted file mode 100644
|
| index ff04ae8b3ba168b3e40354dbe369b7f2056ab5da..0000000000000000000000000000000000000000
|
| --- a/webkit/browser/chromeos/fileapi/remote_file_stream_writer.cc
|
| +++ /dev/null
|
| @@ -1,121 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "webkit/browser/chromeos/fileapi/remote_file_stream_writer.h"
|
| -
|
| -#include "net/base/io_buffer.h"
|
| -#include "net/base/net_errors.h"
|
| -#include "webkit/browser/blob/local_file_stream_reader.h"
|
| -#include "webkit/browser/fileapi/local_file_stream_writer.h"
|
| -#include "webkit/browser/fileapi/remote_file_system_proxy.h"
|
| -#include "webkit/common/blob/shareable_file_reference.h"
|
| -
|
| -namespace fileapi {
|
| -
|
| -RemoteFileStreamWriter::RemoteFileStreamWriter(
|
| - const scoped_refptr<RemoteFileSystemProxyInterface>& remote_filesystem,
|
| - const FileSystemURL& url,
|
| - int64 offset,
|
| - base::TaskRunner *local_task_runner)
|
| - : remote_filesystem_(remote_filesystem),
|
| - url_(url),
|
| - initial_offset_(offset),
|
| - has_pending_create_snapshot_(false),
|
| - weak_factory_(this),
|
| - local_task_runner_(local_task_runner) {
|
| -}
|
| -
|
| -RemoteFileStreamWriter::~RemoteFileStreamWriter() {
|
| -}
|
| -
|
| -int RemoteFileStreamWriter::Write(net::IOBuffer* buf,
|
| - int buf_len,
|
| - const net::CompletionCallback& callback) {
|
| - DCHECK(!has_pending_create_snapshot_);
|
| - DCHECK(pending_cancel_callback_.is_null());
|
| -
|
| - if (!local_file_writer_) {
|
| - has_pending_create_snapshot_ = true;
|
| - // In this RemoteFileStreamWriter, we only create snapshot file and don't
|
| - // have explicit close operation. This is ok, because close is automatically
|
| - // triggered by a refcounted |file_ref_| passed to OnFileOpened, from the
|
| - // destructor of RemoteFileStreamWriter.
|
| - remote_filesystem_->CreateWritableSnapshotFile(
|
| - url_,
|
| - base::Bind(&RemoteFileStreamWriter::OnFileOpened,
|
| - weak_factory_.GetWeakPtr(),
|
| - make_scoped_refptr(buf),
|
| - buf_len,
|
| - callback));
|
| - return net::ERR_IO_PENDING;
|
| - }
|
| - return local_file_writer_->Write(buf, buf_len, callback);
|
| -}
|
| -
|
| -void RemoteFileStreamWriter::OnFileOpened(
|
| - net::IOBuffer* buf,
|
| - int buf_len,
|
| - const net::CompletionCallback& callback,
|
| - base::PlatformFileError open_result,
|
| - const base::FilePath& local_path,
|
| - const scoped_refptr<webkit_blob::ShareableFileReference>& file_ref) {
|
| - has_pending_create_snapshot_ = false;
|
| - if (!pending_cancel_callback_.is_null()) {
|
| - InvokePendingCancelCallback(net::OK);
|
| - return;
|
| - }
|
| -
|
| - if (open_result != base::PLATFORM_FILE_OK) {
|
| - callback.Run(net::PlatformFileErrorToNetError(open_result));
|
| - return;
|
| - }
|
| -
|
| - // Hold the reference to the file. Releasing the reference notifies the file
|
| - // system about to close file.
|
| - file_ref_ = file_ref;
|
| -
|
| - DCHECK(!local_file_writer_.get());
|
| - local_file_writer_.reset(new fileapi::LocalFileStreamWriter(
|
| - local_task_runner_, local_path, initial_offset_));
|
| - int result = local_file_writer_->Write(buf, buf_len, callback);
|
| - if (result != net::ERR_IO_PENDING)
|
| - callback.Run(result);
|
| -}
|
| -
|
| -int RemoteFileStreamWriter::Cancel(const net::CompletionCallback& callback) {
|
| - DCHECK(!callback.is_null());
|
| - DCHECK(pending_cancel_callback_.is_null());
|
| -
|
| - // If file open operation is in-flight, wait for its completion and cancel
|
| - // further write operation in OnFileOpened.
|
| - if (has_pending_create_snapshot_) {
|
| - pending_cancel_callback_ = callback;
|
| - return net::ERR_IO_PENDING;
|
| - }
|
| -
|
| - // If LocalFileWriter is already created, just delegate the cancel to it.
|
| - if (local_file_writer_) {
|
| - pending_cancel_callback_ = callback;
|
| - return local_file_writer_->Cancel(
|
| - base::Bind(&RemoteFileStreamWriter::InvokePendingCancelCallback,
|
| - weak_factory_.GetWeakPtr()));
|
| - }
|
| -
|
| - // Write() is not called yet.
|
| - return net::ERR_UNEXPECTED;
|
| -}
|
| -
|
| -int RemoteFileStreamWriter::Flush(const net::CompletionCallback& callback) {
|
| - // For remote file writer, Flush() is a no-op. Synchronization to the remote
|
| - // server is not done until the file is closed.
|
| - return net::OK;
|
| -}
|
| -
|
| -void RemoteFileStreamWriter::InvokePendingCancelCallback(int result) {
|
| - net::CompletionCallback callback = pending_cancel_callback_;
|
| - pending_cancel_callback_.Reset();
|
| - callback.Run(result);
|
| -}
|
| -
|
| -} // namespace gdata
|
|
|