Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(217)

Unified Diff: chrome/browser/chromeos/drive/webkit_file_stream_reader_impl.cc

Issue 148913005: Create fileapi/ subdirectory under c/b/cros/drive. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698