| OLD | NEW |
| 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/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
| 9 #include "base/metrics/histogram.h" | 9 #include "base/metrics/histogram.h" |
| 10 #include "base/time/time.h" | 10 #include "base/time/time.h" |
| (...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 282 weak_ptr_factory_.GetWeakPtr(), | 282 weak_ptr_factory_.GetWeakPtr(), |
| 283 info->GetGlobalRequestID(), | 283 info->GetGlobalRequestID(), |
| 284 info->GetResourceType(), | 284 info->GetResourceType(), |
| 285 request_->url(), | 285 request_->url(), |
| 286 render_process_id, | 286 render_process_id, |
| 287 render_frame_id, | 287 render_frame_id, |
| 288 ssl_info, | 288 ssl_info, |
| 289 fatal); | 289 fatal); |
| 290 } | 290 } |
| 291 | 291 |
| 292 void ResourceLoader::OnBeforeNetworkStart(net::URLRequest* unused, |
| 293 bool* defer) { |
| 294 DCHECK_EQ(request_.get(), unused); |
| 295 |
| 296 // Give the handler a chance to delay the URLRequest from using the network. |
| 297 if (!handler_->OnBeforeNetworkStart( |
| 298 GetRequestInfo()->GetRequestID(), request_->url(), defer)) { |
| 299 Cancel(); |
| 300 return; |
| 301 } else if (*defer) { |
| 302 deferred_stage_ = DEFERRED_NETWORK_START; |
| 303 } |
| 304 } |
| 305 |
| 292 void ResourceLoader::OnResponseStarted(net::URLRequest* unused) { | 306 void ResourceLoader::OnResponseStarted(net::URLRequest* unused) { |
| 293 DCHECK_EQ(request_.get(), unused); | 307 DCHECK_EQ(request_.get(), unused); |
| 294 | 308 |
| 295 VLOG(1) << "OnResponseStarted: " << request_->url().spec(); | 309 VLOG(1) << "OnResponseStarted: " << request_->url().spec(); |
| 296 | 310 |
| 297 // The CanLoadPage check should take place after any server redirects have | 311 // The CanLoadPage check should take place after any server redirects have |
| 298 // finished, at the point in time that we know a page will commit in the | 312 // finished, at the point in time that we know a page will commit in the |
| 299 // renderer process. | 313 // renderer process. |
| 300 ResourceRequestInfoImpl* info = GetRequestInfo(); | 314 ResourceRequestInfoImpl* info = GetRequestInfo(); |
| 301 ChildProcessSecurityPolicyImpl* policy = | 315 ChildProcessSecurityPolicyImpl* policy = |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 384 | 398 |
| 385 DeferredStage stage = deferred_stage_; | 399 DeferredStage stage = deferred_stage_; |
| 386 deferred_stage_ = DEFERRED_NONE; | 400 deferred_stage_ = DEFERRED_NONE; |
| 387 switch (stage) { | 401 switch (stage) { |
| 388 case DEFERRED_NONE: | 402 case DEFERRED_NONE: |
| 389 NOTREACHED(); | 403 NOTREACHED(); |
| 390 break; | 404 break; |
| 391 case DEFERRED_START: | 405 case DEFERRED_START: |
| 392 StartRequestInternal(); | 406 StartRequestInternal(); |
| 393 break; | 407 break; |
| 408 case DEFERRED_NETWORK_START: |
| 409 request_->ResumeNetworkStart(); |
| 410 break; |
| 394 case DEFERRED_REDIRECT: | 411 case DEFERRED_REDIRECT: |
| 395 request_->FollowDeferredRedirect(); | 412 request_->FollowDeferredRedirect(); |
| 396 break; | 413 break; |
| 397 case DEFERRED_READ: | 414 case DEFERRED_READ: |
| 398 base::MessageLoop::current()->PostTask( | 415 base::MessageLoop::current()->PostTask( |
| 399 FROM_HERE, | 416 FROM_HERE, |
| 400 base::Bind(&ResourceLoader::ResumeReading, | 417 base::Bind(&ResourceLoader::ResumeReading, |
| 401 weak_ptr_factory_.GetWeakPtr())); | 418 weak_ptr_factory_.GetWeakPtr())); |
| 402 break; | 419 break; |
| 403 case DEFERRED_FINISH: | 420 case DEFERRED_FINISH: |
| (...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 659 case net::URLRequestStatus::FAILED: | 676 case net::URLRequestStatus::FAILED: |
| 660 status = STATUS_UNDEFINED; | 677 status = STATUS_UNDEFINED; |
| 661 break; | 678 break; |
| 662 } | 679 } |
| 663 | 680 |
| 664 UMA_HISTOGRAM_ENUMERATION("Net.Prefetch.Pattern", status, STATUS_MAX); | 681 UMA_HISTOGRAM_ENUMERATION("Net.Prefetch.Pattern", status, STATUS_MAX); |
| 665 } | 682 } |
| 666 } | 683 } |
| 667 | 684 |
| 668 } // namespace content | 685 } // namespace content |
| OLD | NEW |