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

Side by Side Diff: content/browser/loader/resource_loader.cc

Issue 1170623003: Revert "content: Remove use of MessageLoopProxy and deprecated MessageLoop APIs" (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 6 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "content/browser/loader/resource_loader.h" 5 #include "content/browser/loader/resource_loader.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/location.h" 8 #include "base/message_loop/message_loop.h"
9 #include "base/metrics/histogram.h" 9 #include "base/metrics/histogram.h"
10 #include "base/profiler/scoped_tracker.h" 10 #include "base/profiler/scoped_tracker.h"
11 #include "base/single_thread_task_runner.h"
12 #include "base/thread_task_runner_handle.h"
13 #include "base/time/time.h" 11 #include "base/time/time.h"
14 #include "content/browser/appcache/appcache_interceptor.h" 12 #include "content/browser/appcache/appcache_interceptor.h"
15 #include "content/browser/child_process_security_policy_impl.h" 13 #include "content/browser/child_process_security_policy_impl.h"
16 #include "content/browser/loader/cross_site_resource_handler.h" 14 #include "content/browser/loader/cross_site_resource_handler.h"
17 #include "content/browser/loader/detachable_resource_handler.h" 15 #include "content/browser/loader/detachable_resource_handler.h"
18 #include "content/browser/loader/resource_loader_delegate.h" 16 #include "content/browser/loader/resource_loader_delegate.h"
19 #include "content/browser/loader/resource_request_info_impl.h" 17 #include "content/browser/loader/resource_request_info_impl.h"
20 #include "content/browser/service_worker/service_worker_request_handler.h" 18 #include "content/browser/service_worker/service_worker_request_handler.h"
21 #include "content/browser/ssl/ssl_client_auth_handler.h" 19 #include "content/browser/ssl/ssl_client_auth_handler.h"
22 #include "content/browser/ssl/ssl_manager.h" 20 #include "content/browser/ssl/ssl_manager.h"
(...skipping 437 matching lines...) Expand 10 before | Expand all | Expand 10 after
460 case DEFERRED_START: 458 case DEFERRED_START:
461 StartRequestInternal(); 459 StartRequestInternal();
462 break; 460 break;
463 case DEFERRED_NETWORK_START: 461 case DEFERRED_NETWORK_START:
464 request_->ResumeNetworkStart(); 462 request_->ResumeNetworkStart();
465 break; 463 break;
466 case DEFERRED_REDIRECT: 464 case DEFERRED_REDIRECT:
467 request_->FollowDeferredRedirect(); 465 request_->FollowDeferredRedirect();
468 break; 466 break;
469 case DEFERRED_READ: 467 case DEFERRED_READ:
470 base::ThreadTaskRunnerHandle::Get()->PostTask( 468 base::MessageLoop::current()->PostTask(
471 FROM_HERE, base::Bind(&ResourceLoader::ResumeReading, 469 FROM_HERE,
472 weak_ptr_factory_.GetWeakPtr())); 470 base::Bind(&ResourceLoader::ResumeReading,
471 weak_ptr_factory_.GetWeakPtr()));
473 break; 472 break;
474 case DEFERRED_RESPONSE_COMPLETE: 473 case DEFERRED_RESPONSE_COMPLETE:
475 base::ThreadTaskRunnerHandle::Get()->PostTask( 474 base::MessageLoop::current()->PostTask(
476 FROM_HERE, base::Bind(&ResourceLoader::ResponseCompleted, 475 FROM_HERE,
477 weak_ptr_factory_.GetWeakPtr())); 476 base::Bind(&ResourceLoader::ResponseCompleted,
477 weak_ptr_factory_.GetWeakPtr()));
478 break; 478 break;
479 case DEFERRED_FINISH: 479 case DEFERRED_FINISH:
480 // Delay self-destruction since we don't know how we were reached. 480 // Delay self-destruction since we don't know how we were reached.
481 base::ThreadTaskRunnerHandle::Get()->PostTask( 481 base::MessageLoop::current()->PostTask(
482 FROM_HERE, base::Bind(&ResourceLoader::CallDidFinishLoading, 482 FROM_HERE,
483 weak_ptr_factory_.GetWeakPtr())); 483 base::Bind(&ResourceLoader::CallDidFinishLoading,
484 weak_ptr_factory_.GetWeakPtr()));
484 break; 485 break;
485 } 486 }
486 } 487 }
487 488
488 void ResourceLoader::Cancel() { 489 void ResourceLoader::Cancel() {
489 CancelRequest(false); 490 CancelRequest(false);
490 } 491 }
491 492
492 void ResourceLoader::StartRequestInternal() { 493 void ResourceLoader::StartRequestInternal() {
493 DCHECK(!request_->is_pending()); 494 DCHECK(!request_->is_pending());
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
537 login_delegate_ = NULL; 538 login_delegate_ = NULL;
538 } 539 }
539 ssl_client_auth_handler_.reset(); 540 ssl_client_auth_handler_.reset();
540 541
541 request_->CancelWithError(error); 542 request_->CancelWithError(error);
542 543
543 if (!was_pending) { 544 if (!was_pending) {
544 // If the request isn't in flight, then we won't get an asynchronous 545 // If the request isn't in flight, then we won't get an asynchronous
545 // notification from the request, so we have to signal ourselves to finish 546 // notification from the request, so we have to signal ourselves to finish
546 // this request. 547 // this request.
547 base::ThreadTaskRunnerHandle::Get()->PostTask( 548 base::MessageLoop::current()->PostTask(
548 FROM_HERE, base::Bind(&ResourceLoader::ResponseCompleted, 549 FROM_HERE,
549 weak_ptr_factory_.GetWeakPtr())); 550 base::Bind(&ResourceLoader::ResponseCompleted,
551 weak_ptr_factory_.GetWeakPtr()));
550 } 552 }
551 } 553 }
552 554
553 void ResourceLoader::StoreSignedCertificateTimestamps( 555 void ResourceLoader::StoreSignedCertificateTimestamps(
554 const net::SignedCertificateTimestampAndStatusList& sct_list, 556 const net::SignedCertificateTimestampAndStatusList& sct_list,
555 int process_id, 557 int process_id,
556 SignedCertificateTimestampIDStatusList* sct_ids) { 558 SignedCertificateTimestampIDStatusList* sct_ids) {
557 SignedCertificateTimestampStore* sct_store( 559 SignedCertificateTimestampStore* sct_store(
558 SignedCertificateTimestampStore::GetInstance()); 560 SignedCertificateTimestampStore::GetInstance());
559 561
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
614 616
615 // If IO is pending, wait for the URLRequest to call OnReadCompleted. 617 // If IO is pending, wait for the URLRequest to call OnReadCompleted.
616 if (request_->status().is_io_pending()) 618 if (request_->status().is_io_pending())
617 return; 619 return;
618 620
619 if (!is_continuation || bytes_read <= 0) { 621 if (!is_continuation || bytes_read <= 0) {
620 OnReadCompleted(request_.get(), bytes_read); 622 OnReadCompleted(request_.get(), bytes_read);
621 } else { 623 } else {
622 // Else, trigger OnReadCompleted asynchronously to avoid starving the IO 624 // Else, trigger OnReadCompleted asynchronously to avoid starving the IO
623 // thread in case the URLRequest can provide data synchronously. 625 // thread in case the URLRequest can provide data synchronously.
624 base::ThreadTaskRunnerHandle::Get()->PostTask( 626 base::MessageLoop::current()->PostTask(
625 FROM_HERE, 627 FROM_HERE,
626 base::Bind(&ResourceLoader::OnReadCompleted, 628 base::Bind(&ResourceLoader::OnReadCompleted,
627 weak_ptr_factory_.GetWeakPtr(), request_.get(), bytes_read)); 629 weak_ptr_factory_.GetWeakPtr(),
630 request_.get(),
631 bytes_read));
628 } 632 }
629 } 633 }
630 634
631 void ResourceLoader::ResumeReading() { 635 void ResourceLoader::ResumeReading() {
632 DCHECK(!is_deferred()); 636 DCHECK(!is_deferred());
633 637
634 if (!read_deferral_start_time_.is_null()) { 638 if (!read_deferral_start_time_.is_null()) {
635 UMA_HISTOGRAM_TIMES("Net.ResourceLoader.ReadDeferral", 639 UMA_HISTOGRAM_TIMES("Net.ResourceLoader.ReadDeferral",
636 base::TimeTicks::Now() - read_deferral_start_time_); 640 base::TimeTicks::Now() - read_deferral_start_time_);
637 read_deferral_start_time_ = base::TimeTicks(); 641 read_deferral_start_time_ = base::TimeTicks();
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
762 case net::URLRequestStatus::FAILED: 766 case net::URLRequestStatus::FAILED:
763 status = STATUS_UNDEFINED; 767 status = STATUS_UNDEFINED;
764 break; 768 break;
765 } 769 }
766 770
767 UMA_HISTOGRAM_ENUMERATION("Net.Prefetch.Pattern", status, STATUS_MAX); 771 UMA_HISTOGRAM_ENUMERATION("Net.Prefetch.Pattern", status, STATUS_MAX);
768 } 772 }
769 } 773 }
770 774
771 } // namespace content 775 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/loader/resource_dispatcher_host_unittest.cc ('k') | content/browser/loader/resource_loader_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698