OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 "webkit/fileapi/upload_file_system_file_element_reader.h" | 5 #include "webkit/fileapi/upload_file_system_file_element_reader.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "net/base/net_errors.h" | 8 #include "net/base/net_errors.h" |
9 #include "webkit/blob/file_stream_reader.h" | 9 #include "webkit/blob/file_stream_reader.h" |
10 #include "webkit/fileapi/file_system_context.h" | 10 #include "webkit/fileapi/file_system_context.h" |
(...skipping 21 matching lines...) Expand all Loading... |
32 } | 32 } |
33 | 33 |
34 int UploadFileSystemFileElementReader::Init( | 34 int UploadFileSystemFileElementReader::Init( |
35 const net::CompletionCallback& callback) { | 35 const net::CompletionCallback& callback) { |
36 // Reset states. | 36 // Reset states. |
37 weak_ptr_factory_.InvalidateWeakPtrs(); | 37 weak_ptr_factory_.InvalidateWeakPtrs(); |
38 stream_length_ = 0; | 38 stream_length_ = 0; |
39 position_ = 0; | 39 position_ = 0; |
40 | 40 |
41 // Initialize the stream reader and the length. | 41 // Initialize the stream reader and the length. |
42 stream_reader_.reset( | 42 stream_reader_ = |
43 file_system_context_->CreateFileStreamReader( | 43 file_system_context_->CreateFileStreamReader( |
44 file_system_context_->CrackURL(url_), | 44 file_system_context_->CrackURL(url_), |
45 range_offset_, | 45 range_offset_, |
46 expected_modification_time_)); | 46 expected_modification_time_); |
47 DCHECK(stream_reader_); | 47 DCHECK(stream_reader_); |
48 | 48 |
49 const int64 result = stream_reader_->GetLength( | 49 const int64 result = stream_reader_->GetLength( |
50 base::Bind(&UploadFileSystemFileElementReader::OnGetLength, | 50 base::Bind(&UploadFileSystemFileElementReader::OnGetLength, |
51 weak_ptr_factory_.GetWeakPtr(), | 51 weak_ptr_factory_.GetWeakPtr(), |
52 callback)); | 52 callback)); |
53 if (result >= 0) { | 53 if (result >= 0) { |
54 stream_length_ = result; | 54 stream_length_ = result; |
55 return net::OK; | 55 return net::OK; |
56 } | 56 } |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
106 int result) { | 106 int result) { |
107 if (result > 0) { | 107 if (result > 0) { |
108 position_ += result; | 108 position_ += result; |
109 DCHECK_LE(position_, GetContentLength()); | 109 DCHECK_LE(position_, GetContentLength()); |
110 } | 110 } |
111 if (!callback.is_null()) | 111 if (!callback.is_null()) |
112 callback.Run(result); | 112 callback.Run(result); |
113 } | 113 } |
114 | 114 |
115 } // namespace fileapi | 115 } // namespace fileapi |
OLD | NEW |