| Index: content/browser/loader/resource_loader.cc
|
| diff --git a/content/browser/loader/resource_loader.cc b/content/browser/loader/resource_loader.cc
|
| index cb4696600eeb475be8b21f0d560ffe952ec15d05..9e8b91fd764a9ecda985a98fb2d8cfc8d7574b06 100644
|
| --- a/content/browser/loader/resource_loader.cc
|
| +++ b/content/browser/loader/resource_loader.cc
|
| @@ -289,6 +289,20 @@ void ResourceLoader::OnSSLCertificateError(net::URLRequest* request,
|
| fatal);
|
| }
|
|
|
| +void ResourceLoader::OnBeforeNetworkStart(net::URLRequest* unused,
|
| + bool* defer) {
|
| + DCHECK_EQ(request_.get(), unused);
|
| +
|
| + // Give the handler a chance to delay the URLRequest from using the network.
|
| + if (!handler_->OnBeforeNetworkStart(
|
| + GetRequestInfo()->GetRequestID(), request_->url(), defer)) {
|
| + Cancel();
|
| + return;
|
| + } else if (*defer) {
|
| + deferred_stage_ = DEFERRED_NETWORK_START;
|
| + }
|
| +}
|
| +
|
| void ResourceLoader::OnResponseStarted(net::URLRequest* unused) {
|
| DCHECK_EQ(request_.get(), unused);
|
|
|
| @@ -391,6 +405,9 @@ void ResourceLoader::Resume() {
|
| case DEFERRED_START:
|
| StartRequestInternal();
|
| break;
|
| + case DEFERRED_NETWORK_START:
|
| + request_->ResumeNetworkStart();
|
| + break;
|
| case DEFERRED_REDIRECT:
|
| request_->FollowDeferredRedirect();
|
| break;
|
|
|