| Index: chrome/browser/chromeos/drive/webkit_file_stream_reader_impl.cc
|
| diff --git a/chrome/browser/chromeos/drive/webkit_file_stream_reader_impl.cc b/chrome/browser/chromeos/drive/webkit_file_stream_reader_impl.cc
|
| deleted file mode 100644
|
| index 0190e1e7b30746bc0d5fdf06374babbc8d8085f6..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/chromeos/drive/webkit_file_stream_reader_impl.cc
|
| +++ /dev/null
|
| @@ -1,159 +0,0 @@
|
| -// Copyright 2013 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 "chrome/browser/chromeos/drive/webkit_file_stream_reader_impl.h"
|
| -
|
| -#include "base/bind.h"
|
| -#include "base/bind_helpers.h"
|
| -#include "base/callback.h"
|
| -#include "base/logging.h"
|
| -#include "chrome/browser/chromeos/drive/drive.pb.h"
|
| -#include "chrome/browser/chromeos/drive/drive_file_stream_reader.h"
|
| -#include "content/public/browser/browser_thread.h"
|
| -#include "net/base/io_buffer.h"
|
| -#include "net/base/net_errors.h"
|
| -#include "net/http/http_byte_range.h"
|
| -
|
| -using content::BrowserThread;
|
| -
|
| -namespace drive {
|
| -namespace internal {
|
| -
|
| -WebkitFileStreamReaderImpl::WebkitFileStreamReaderImpl(
|
| - const DriveFileStreamReader::FileSystemGetter& file_system_getter,
|
| - base::SequencedTaskRunner* file_task_runner,
|
| - const base::FilePath& drive_file_path,
|
| - int64 offset,
|
| - const base::Time& expected_modification_time)
|
| - : stream_reader_(
|
| - new DriveFileStreamReader(file_system_getter, file_task_runner)),
|
| - drive_file_path_(drive_file_path),
|
| - offset_(offset),
|
| - expected_modification_time_(expected_modification_time),
|
| - file_size_(-1),
|
| - weak_ptr_factory_(this) {
|
| - DCHECK_GE(offset, 0);
|
| -}
|
| -
|
| -WebkitFileStreamReaderImpl::~WebkitFileStreamReaderImpl() {
|
| -}
|
| -
|
| -int WebkitFileStreamReaderImpl::Read(net::IOBuffer* buffer,
|
| - int buffer_length,
|
| - const net::CompletionCallback& callback) {
|
| - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
| - DCHECK(stream_reader_);
|
| - DCHECK(buffer);
|
| - DCHECK(!callback.is_null());
|
| -
|
| - if (stream_reader_->IsInitialized())
|
| - return stream_reader_->Read(buffer, buffer_length, callback);
|
| -
|
| - net::HttpByteRange byte_range;
|
| - byte_range.set_first_byte_position(offset_);
|
| - stream_reader_->Initialize(
|
| - drive_file_path_,
|
| - byte_range,
|
| - base::Bind(&WebkitFileStreamReaderImpl::OnStreamReaderInitialized,
|
| - weak_ptr_factory_.GetWeakPtr(),
|
| - base::Bind(&WebkitFileStreamReaderImpl
|
| - ::ReadAfterStreamReaderInitialized,
|
| - weak_ptr_factory_.GetWeakPtr(),
|
| - make_scoped_refptr(buffer),
|
| - buffer_length, callback)));
|
| - return net::ERR_IO_PENDING;
|
| -}
|
| -
|
| -int64 WebkitFileStreamReaderImpl::GetLength(
|
| - const net::Int64CompletionCallback& callback) {
|
| - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
| - DCHECK(stream_reader_);
|
| - DCHECK(!callback.is_null());
|
| -
|
| - if (stream_reader_->IsInitialized()) {
|
| - // Returns file_size regardless of |offset_|.
|
| - return file_size_;
|
| - }
|
| -
|
| - net::HttpByteRange byte_range;
|
| - byte_range.set_first_byte_position(offset_);
|
| - stream_reader_->Initialize(
|
| - drive_file_path_,
|
| - byte_range,
|
| - base::Bind(&WebkitFileStreamReaderImpl::OnStreamReaderInitialized,
|
| - weak_ptr_factory_.GetWeakPtr(),
|
| - base::Bind(&WebkitFileStreamReaderImpl
|
| - ::GetLengthAfterStreamReaderInitialized,
|
| - weak_ptr_factory_.GetWeakPtr(),
|
| - callback)));
|
| - return net::ERR_IO_PENDING;
|
| -}
|
| -
|
| -void WebkitFileStreamReaderImpl::OnStreamReaderInitialized(
|
| - const net::CompletionCallback& callback,
|
| - int error,
|
| - scoped_ptr<ResourceEntry> entry) {
|
| - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
| - DCHECK(stream_reader_);
|
| - DCHECK(!callback.is_null());
|
| -
|
| - if (error == net::OK) {
|
| - DCHECK(entry);
|
| -
|
| - // Check last modification time.
|
| - if (!expected_modification_time_.is_null() &&
|
| - expected_modification_time_.ToInternalValue() !=
|
| - entry->file_info().last_modified()) {
|
| - error = net::ERR_UPLOAD_FILE_CHANGED;
|
| - }
|
| - }
|
| -
|
| - if (error != net::OK) {
|
| - // Found an error. Close the |stream_reader_| and notify it to the caller.
|
| - stream_reader_.reset();
|
| - callback.Run(error);
|
| - return;
|
| - }
|
| -
|
| - // Remember the size of the file.
|
| - file_size_ = entry->file_info().size();
|
| - callback.Run(net::OK);
|
| -}
|
| -
|
| -void WebkitFileStreamReaderImpl::ReadAfterStreamReaderInitialized(
|
| - scoped_refptr<net::IOBuffer> buffer,
|
| - int buffer_length,
|
| - const net::CompletionCallback& callback,
|
| - int initialization_result) {
|
| - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
| - DCHECK(!callback.is_null());
|
| -
|
| - if (initialization_result != net::OK) {
|
| - callback.Run(initialization_result);
|
| - return;
|
| - }
|
| -
|
| - DCHECK(stream_reader_);
|
| - int result = stream_reader_->Read(buffer.get(), buffer_length, callback);
|
| - if (result != net::ERR_IO_PENDING)
|
| - callback.Run(result);
|
| -}
|
| -
|
| -void WebkitFileStreamReaderImpl::GetLengthAfterStreamReaderInitialized(
|
| - const net::Int64CompletionCallback& callback,
|
| - int initialization_result) {
|
| - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
| - DCHECK(!callback.is_null());
|
| -
|
| - if (initialization_result != net::OK) {
|
| - callback.Run(initialization_result);
|
| - return;
|
| - }
|
| -
|
| - DCHECK_GE(file_size_, 0);
|
| - callback.Run(file_size_);
|
| -}
|
| -
|
| -} // namespace internal
|
| -} // namespace drive
|
|
|