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

Side by Side Diff: chrome/browser/chromeos/drive/fileapi/webkit_file_stream_reader_impl.cc

Issue 1036723003: favor DCHECK_CURRENTLY_ON for better logs in chrome/browser/chromeos/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 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 unified diff | Download patch
OLDNEW
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"
(...skipping 24 matching lines...) Expand all
35 weak_ptr_factory_(this) { 35 weak_ptr_factory_(this) {
36 DCHECK_GE(offset, 0); 36 DCHECK_GE(offset, 0);
37 } 37 }
38 38
39 WebkitFileStreamReaderImpl::~WebkitFileStreamReaderImpl() { 39 WebkitFileStreamReaderImpl::~WebkitFileStreamReaderImpl() {
40 } 40 }
41 41
42 int WebkitFileStreamReaderImpl::Read(net::IOBuffer* buffer, 42 int WebkitFileStreamReaderImpl::Read(net::IOBuffer* buffer,
43 int buffer_length, 43 int buffer_length,
44 const net::CompletionCallback& callback) { 44 const net::CompletionCallback& callback) {
45 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 45 DCHECK_CURRENTLY_ON(BrowserThread::IO);
46 DCHECK(stream_reader_); 46 DCHECK(stream_reader_);
47 DCHECK(buffer); 47 DCHECK(buffer);
48 DCHECK(!callback.is_null()); 48 DCHECK(!callback.is_null());
49 49
50 if (stream_reader_->IsInitialized()) 50 if (stream_reader_->IsInitialized())
51 return stream_reader_->Read(buffer, buffer_length, callback); 51 return stream_reader_->Read(buffer, buffer_length, callback);
52 52
53 net::HttpByteRange byte_range; 53 net::HttpByteRange byte_range;
54 byte_range.set_first_byte_position(offset_); 54 byte_range.set_first_byte_position(offset_);
55 stream_reader_->Initialize( 55 stream_reader_->Initialize(
56 drive_file_path_, 56 drive_file_path_,
57 byte_range, 57 byte_range,
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 WebkitFileStreamReaderImpl::GetLength(
69 const net::Int64CompletionCallback& callback) { 69 const net::Int64CompletionCallback& callback) {
70 DCHECK(BrowserThread::CurrentlyOn(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
79 net::HttpByteRange byte_range; 79 net::HttpByteRange byte_range;
80 byte_range.set_first_byte_position(offset_); 80 byte_range.set_first_byte_position(offset_);
81 stream_reader_->Initialize( 81 stream_reader_->Initialize(
82 drive_file_path_, 82 drive_file_path_,
83 byte_range, 83 byte_range,
84 base::Bind(&WebkitFileStreamReaderImpl::OnStreamReaderInitialized, 84 base::Bind(&WebkitFileStreamReaderImpl::OnStreamReaderInitialized,
85 weak_ptr_factory_.GetWeakPtr(), 85 weak_ptr_factory_.GetWeakPtr(),
86 base::Bind(&WebkitFileStreamReaderImpl 86 base::Bind(&WebkitFileStreamReaderImpl
87 ::GetLengthAfterStreamReaderInitialized, 87 ::GetLengthAfterStreamReaderInitialized,
88 weak_ptr_factory_.GetWeakPtr(), 88 weak_ptr_factory_.GetWeakPtr(),
89 callback))); 89 callback)));
90 return net::ERR_IO_PENDING; 90 return net::ERR_IO_PENDING;
91 } 91 }
92 92
93 void WebkitFileStreamReaderImpl::OnStreamReaderInitialized( 93 void WebkitFileStreamReaderImpl::OnStreamReaderInitialized(
94 const net::CompletionCallback& callback, 94 const net::CompletionCallback& callback,
95 int error, 95 int error,
96 scoped_ptr<ResourceEntry> entry) { 96 scoped_ptr<ResourceEntry> entry) {
97 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 97 DCHECK_CURRENTLY_ON(BrowserThread::IO);
98 DCHECK(stream_reader_); 98 DCHECK(stream_reader_);
99 DCHECK(!callback.is_null()); 99 DCHECK(!callback.is_null());
100 100
101 // TODO(hashimoto): Report ERR_UPLOAD_FILE_CHANGED when modification time 101 // TODO(hashimoto): Report ERR_UPLOAD_FILE_CHANGED when modification time
102 // doesn't match. crbug.com/346625 102 // doesn't match. crbug.com/346625
103 if (error != net::OK) { 103 if (error != net::OK) {
104 // Found an error. Close the |stream_reader_| and notify it to the caller. 104 // Found an error. Close the |stream_reader_| and notify it to the caller.
105 stream_reader_.reset(); 105 stream_reader_.reset();
106 callback.Run(error); 106 callback.Run(error);
107 return; 107 return;
108 } 108 }
109 109
110 // Remember the size of the file. 110 // Remember the size of the file.
111 file_size_ = entry->file_info().size(); 111 file_size_ = entry->file_info().size();
112 callback.Run(net::OK); 112 callback.Run(net::OK);
113 } 113 }
114 114
115 void WebkitFileStreamReaderImpl::ReadAfterStreamReaderInitialized( 115 void WebkitFileStreamReaderImpl::ReadAfterStreamReaderInitialized(
116 scoped_refptr<net::IOBuffer> buffer, 116 scoped_refptr<net::IOBuffer> buffer,
117 int buffer_length, 117 int buffer_length,
118 const net::CompletionCallback& callback, 118 const net::CompletionCallback& callback,
119 int initialization_result) { 119 int initialization_result) {
120 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 120 DCHECK_CURRENTLY_ON(BrowserThread::IO);
121 DCHECK(!callback.is_null()); 121 DCHECK(!callback.is_null());
122 122
123 if (initialization_result != net::OK) { 123 if (initialization_result != net::OK) {
124 callback.Run(initialization_result); 124 callback.Run(initialization_result);
125 return; 125 return;
126 } 126 }
127 127
128 DCHECK(stream_reader_); 128 DCHECK(stream_reader_);
129 int result = stream_reader_->Read(buffer.get(), buffer_length, callback); 129 int result = stream_reader_->Read(buffer.get(), buffer_length, callback);
130 if (result != net::ERR_IO_PENDING) 130 if (result != net::ERR_IO_PENDING)
131 callback.Run(result); 131 callback.Run(result);
132 } 132 }
133 133
134 void WebkitFileStreamReaderImpl::GetLengthAfterStreamReaderInitialized( 134 void WebkitFileStreamReaderImpl::GetLengthAfterStreamReaderInitialized(
135 const net::Int64CompletionCallback& callback, 135 const net::Int64CompletionCallback& callback,
136 int initialization_result) { 136 int initialization_result) {
137 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 137 DCHECK_CURRENTLY_ON(BrowserThread::IO);
138 DCHECK(!callback.is_null()); 138 DCHECK(!callback.is_null());
139 139
140 if (initialization_result != net::OK) { 140 if (initialization_result != net::OK) {
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698