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

Side by Side Diff: chrome/browser/chromeos/fileapi/external_file_url_request_job.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/fileapi/external_file_url_request_job.h" 5 #include "chrome/browser/chromeos/fileapi/external_file_url_request_job.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 234
235 // Check if the entry has a redirect URL. 235 // Check if the entry has a redirect URL.
236 file_system_context_->external_backend()->GetRedirectURLForContents( 236 file_system_context_->external_backend()->GetRedirectURLForContents(
237 file_system_url_, 237 file_system_url_,
238 base::Bind(&ExternalFileURLRequestJob::OnRedirectURLObtained, 238 base::Bind(&ExternalFileURLRequestJob::OnRedirectURLObtained,
239 weak_ptr_factory_.GetWeakPtr())); 239 weak_ptr_factory_.GetWeakPtr()));
240 } 240 }
241 241
242 void ExternalFileURLRequestJob::OnRedirectURLObtained( 242 void ExternalFileURLRequestJob::OnRedirectURLObtained(
243 const GURL& redirect_url) { 243 const GURL& redirect_url) {
244 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 244 DCHECK_CURRENTLY_ON(BrowserThread::IO);
245 redirect_url_ = redirect_url; 245 redirect_url_ = redirect_url;
246 if (!redirect_url_.is_empty()) { 246 if (!redirect_url_.is_empty()) {
247 NotifyHeadersComplete(); 247 NotifyHeadersComplete();
248 return; 248 return;
249 } 249 }
250 250
251 // Obtain file system context. 251 // Obtain file system context.
252 file_system_context_->operation_runner()->GetMetadata( 252 file_system_context_->operation_runner()->GetMetadata(
253 file_system_url_, 253 file_system_url_,
254 base::Bind(&ExternalFileURLRequestJob::OnFileInfoObtained, 254 base::Bind(&ExternalFileURLRequestJob::OnFileInfoObtained,
255 weak_ptr_factory_.GetWeakPtr())); 255 weak_ptr_factory_.GetWeakPtr()));
256 } 256 }
257 257
258 void ExternalFileURLRequestJob::OnFileInfoObtained( 258 void ExternalFileURLRequestJob::OnFileInfoObtained(
259 base::File::Error result, 259 base::File::Error result,
260 const base::File::Info& file_info) { 260 const base::File::Info& file_info) {
261 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 261 DCHECK_CURRENTLY_ON(BrowserThread::IO);
262 262
263 if (result == base::File::FILE_ERROR_NOT_FOUND) { 263 if (result == base::File::FILE_ERROR_NOT_FOUND) {
264 NotifyStartError(net::URLRequestStatus(net::URLRequestStatus::FAILED, 264 NotifyStartError(net::URLRequestStatus(net::URLRequestStatus::FAILED,
265 net::ERR_FILE_NOT_FOUND)); 265 net::ERR_FILE_NOT_FOUND));
266 return; 266 return;
267 } 267 }
268 268
269 if (result != base::File::FILE_OK || file_info.is_directory || 269 if (result != base::File::FILE_OK || file_info.is_directory ||
270 file_info.size < 0) { 270 file_info.size < 0) {
271 NotifyStartError( 271 NotifyStartError(
(...skipping 19 matching lines...) Expand all
291 if (!stream_reader_) { 291 if (!stream_reader_) {
292 NotifyStartError(net::URLRequestStatus(net::URLRequestStatus::FAILED, 292 NotifyStartError(net::URLRequestStatus(net::URLRequestStatus::FAILED,
293 net::ERR_FILE_NOT_FOUND)); 293 net::ERR_FILE_NOT_FOUND));
294 return; 294 return;
295 } 295 }
296 296
297 NotifyHeadersComplete(); 297 NotifyHeadersComplete();
298 } 298 }
299 299
300 void ExternalFileURLRequestJob::Kill() { 300 void ExternalFileURLRequestJob::Kill() {
301 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 301 DCHECK_CURRENTLY_ON(BrowserThread::IO);
302 302
303 stream_reader_.reset(); 303 stream_reader_.reset();
304 isolated_file_system_scope_.reset(); 304 isolated_file_system_scope_.reset();
305 file_system_context_ = NULL; 305 file_system_context_ = NULL;
306 net::URLRequestJob::Kill(); 306 net::URLRequestJob::Kill();
307 weak_ptr_factory_.InvalidateWeakPtrs(); 307 weak_ptr_factory_.InvalidateWeakPtrs();
308 } 308 }
309 309
310 bool ExternalFileURLRequestJob::GetMimeType(std::string* mime_type) const { 310 bool ExternalFileURLRequestJob::GetMimeType(std::string* mime_type) const {
311 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 311 DCHECK_CURRENTLY_ON(BrowserThread::IO);
312 mime_type->assign(mime_type_); 312 mime_type->assign(mime_type_);
313 return !mime_type->empty(); 313 return !mime_type->empty();
314 } 314 }
315 315
316 bool ExternalFileURLRequestJob::IsRedirectResponse(GURL* location, 316 bool ExternalFileURLRequestJob::IsRedirectResponse(GURL* location,
317 int* http_status_code) { 317 int* http_status_code) {
318 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 318 DCHECK_CURRENTLY_ON(BrowserThread::IO);
319 if (redirect_url_.is_empty()) 319 if (redirect_url_.is_empty())
320 return false; 320 return false;
321 321
322 // Redirect a hosted document. 322 // Redirect a hosted document.
323 *location = redirect_url_; 323 *location = redirect_url_;
324 const int kHttpFound = 302; 324 const int kHttpFound = 302;
325 *http_status_code = kHttpFound; 325 *http_status_code = kHttpFound;
326 return true; 326 return true;
327 } 327 }
328 328
329 bool ExternalFileURLRequestJob::ReadRawData(net::IOBuffer* buf, 329 bool ExternalFileURLRequestJob::ReadRawData(net::IOBuffer* buf,
330 int buf_size, 330 int buf_size,
331 int* bytes_read) { 331 int* bytes_read) {
332 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 332 DCHECK_CURRENTLY_ON(BrowserThread::IO);
333 DCHECK(stream_reader_); 333 DCHECK(stream_reader_);
334 334
335 if (remaining_bytes_ == 0) { 335 if (remaining_bytes_ == 0) {
336 *bytes_read = 0; 336 *bytes_read = 0;
337 return true; 337 return true;
338 } 338 }
339 339
340 const int result = stream_reader_->Read( 340 const int result = stream_reader_->Read(
341 buf, 341 buf,
342 std::min<int64>(buf_size, remaining_bytes_), 342 std::min<int64>(buf_size, remaining_bytes_),
(...skipping 14 matching lines...) Expand all
357 // Reading has been finished immediately. 357 // Reading has been finished immediately.
358 *bytes_read = result; 358 *bytes_read = result;
359 remaining_bytes_ -= result; 359 remaining_bytes_ -= result;
360 return true; 360 return true;
361 } 361 }
362 362
363 ExternalFileURLRequestJob::~ExternalFileURLRequestJob() { 363 ExternalFileURLRequestJob::~ExternalFileURLRequestJob() {
364 } 364 }
365 365
366 void ExternalFileURLRequestJob::OnReadCompleted(int read_result) { 366 void ExternalFileURLRequestJob::OnReadCompleted(int read_result) {
367 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 367 DCHECK_CURRENTLY_ON(BrowserThread::IO);
368 368
369 if (read_result < 0) { 369 if (read_result < 0) {
370 DCHECK_NE(read_result, net::ERR_IO_PENDING); 370 DCHECK_NE(read_result, net::ERR_IO_PENDING);
371 NotifyDone( 371 NotifyDone(
372 net::URLRequestStatus(net::URLRequestStatus::FAILED, read_result)); 372 net::URLRequestStatus(net::URLRequestStatus::FAILED, read_result));
373 } 373 }
374 374
375 remaining_bytes_ -= read_result; 375 remaining_bytes_ -= read_result;
376 SetStatus(net::URLRequestStatus()); // Clear the IO_PENDING status. 376 SetStatus(net::URLRequestStatus()); // Clear the IO_PENDING status.
377 NotifyReadComplete(read_result); 377 NotifyReadComplete(read_result);
378 } 378 }
379 379
380 } // namespace chromeos 380 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/external_metrics.cc ('k') | chrome/browser/chromeos/login/chrome_restart_request.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698