OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/chromeos/drive/fileapi/webkit_file_stream_reader_impl.h
" | 5 #include "chrome/browser/chromeos/drive/fileapi/webkit_file_stream_reader_impl.h
" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
9 #include "base/callback.h" | 9 #include "base/callback.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
11 #include "chrome/browser/chromeos/drive/drive_file_stream_reader.h" | 11 #include "chrome/browser/chromeos/drive/drive_file_stream_reader.h" |
12 #include "components/drive/drive.pb.h" | 12 #include "components/drive/drive.pb.h" |
13 #include "content/public/browser/browser_thread.h" | 13 #include "content/public/browser/browser_thread.h" |
14 #include "net/base/io_buffer.h" | 14 #include "net/base/io_buffer.h" |
15 #include "net/base/net_errors.h" | 15 #include "net/base/net_errors.h" |
16 #include "net/http/http_byte_range.h" | 16 #include "net/http/http_byte_range.h" |
17 | 17 |
18 using content::BrowserThread; | 18 using content::BrowserThread; |
19 | 19 |
20 namespace drive { | 20 namespace drive { |
21 namespace internal { | 21 namespace internal { |
22 | 22 |
23 WebkitFileStreamReaderImpl::WebkitFileStreamReaderImpl( | 23 WebkitFileStreamReaderImpl::WebkitFileStreamReaderImpl( |
24 const DriveFileStreamReader::FileSystemGetter& file_system_getter, | 24 const DriveFileStreamReader::FileSystemGetter& file_system_getter, |
25 base::SequencedTaskRunner* file_task_runner, | 25 base::SequencedTaskRunner* file_task_runner, |
26 const base::FilePath& drive_file_path, | 26 const base::FilePath& drive_file_path, |
27 int64 offset, | 27 int64_t offset, |
28 const base::Time& expected_modification_time) | 28 const base::Time& expected_modification_time) |
29 : stream_reader_( | 29 : stream_reader_( |
30 new DriveFileStreamReader(file_system_getter, file_task_runner)), | 30 new DriveFileStreamReader(file_system_getter, file_task_runner)), |
31 drive_file_path_(drive_file_path), | 31 drive_file_path_(drive_file_path), |
32 offset_(offset), | 32 offset_(offset), |
33 expected_modification_time_(expected_modification_time), | 33 expected_modification_time_(expected_modification_time), |
34 file_size_(-1), | 34 file_size_(-1), |
35 weak_ptr_factory_(this) { | 35 weak_ptr_factory_(this) { |
36 DCHECK_GE(offset, 0); | 36 DCHECK_GE(offset, 0); |
37 } | 37 } |
(...skipping 20 matching lines...) Expand all Loading... |
58 base::Bind(&WebkitFileStreamReaderImpl::OnStreamReaderInitialized, | 58 base::Bind(&WebkitFileStreamReaderImpl::OnStreamReaderInitialized, |
59 weak_ptr_factory_.GetWeakPtr(), | 59 weak_ptr_factory_.GetWeakPtr(), |
60 base::Bind(&WebkitFileStreamReaderImpl | 60 base::Bind(&WebkitFileStreamReaderImpl |
61 ::ReadAfterStreamReaderInitialized, | 61 ::ReadAfterStreamReaderInitialized, |
62 weak_ptr_factory_.GetWeakPtr(), | 62 weak_ptr_factory_.GetWeakPtr(), |
63 make_scoped_refptr(buffer), | 63 make_scoped_refptr(buffer), |
64 buffer_length, callback))); | 64 buffer_length, callback))); |
65 return net::ERR_IO_PENDING; | 65 return net::ERR_IO_PENDING; |
66 } | 66 } |
67 | 67 |
68 int64 WebkitFileStreamReaderImpl::GetLength( | 68 int64_t WebkitFileStreamReaderImpl::GetLength( |
69 const net::Int64CompletionCallback& callback) { | 69 const net::Int64CompletionCallback& callback) { |
70 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 70 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
71 DCHECK(stream_reader_); | 71 DCHECK(stream_reader_); |
72 DCHECK(!callback.is_null()); | 72 DCHECK(!callback.is_null()); |
73 | 73 |
74 if (stream_reader_->IsInitialized()) { | 74 if (stream_reader_->IsInitialized()) { |
75 // Returns file_size regardless of |offset_|. | 75 // Returns file_size regardless of |offset_|. |
76 return file_size_; | 76 return file_size_; |
77 } | 77 } |
78 | 78 |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
141 callback.Run(initialization_result); | 141 callback.Run(initialization_result); |
142 return; | 142 return; |
143 } | 143 } |
144 | 144 |
145 DCHECK_GE(file_size_, 0); | 145 DCHECK_GE(file_size_, 0); |
146 callback.Run(file_size_); | 146 callback.Run(file_size_); |
147 } | 147 } |
148 | 148 |
149 } // namespace internal | 149 } // namespace internal |
150 } // namespace drive | 150 } // namespace drive |
OLD | NEW |