| Index: net/url_request/url_request.cc
|
| diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
|
| index ce267302ee1bd90116606062f2c7695ff537fd4d..54fd28d2058d6bb27577d8a441150a30f9f7e02f 100644
|
| --- a/net/url_request/url_request.cc
|
| +++ b/net/url_request/url_request.cc
|
| @@ -198,6 +198,10 @@ void URLRequest::Delegate::OnSSLCertificateError(URLRequest* request,
|
| request->Cancel();
|
| }
|
|
|
| +void URLRequest::Delegate::OnBeforeNetworkStart(URLRequest* request,
|
| + bool* defer) {
|
| +}
|
| +
|
| ///////////////////////////////////////////////////////////////////////////////
|
| // URLRequest
|
|
|
| @@ -225,7 +229,8 @@ URLRequest::URLRequest(const GURL& url,
|
| base::Unretained(this))),
|
| has_notified_completion_(false),
|
| received_response_content_length_(0),
|
| - creation_time_(base::TimeTicks::Now()) {
|
| + creation_time_(base::TimeTicks::Now()),
|
| + notified_before_network_start_(false) {
|
| SIMPLE_STATS_COUNTER("URLRequestCount");
|
|
|
| // Sanity check out environment.
|
| @@ -824,6 +829,24 @@ void URLRequest::NotifyReceivedRedirect(const GURL& location,
|
| }
|
| }
|
|
|
| +void URLRequest::NotifyBeforeNetworkStart(bool* defer) {
|
| + if (delegate_ && !notified_before_network_start_) {
|
| + OnCallToDelegate();
|
| + delegate_->OnBeforeNetworkStart(this, defer);
|
| + if (!*defer)
|
| + OnCallToDelegateComplete();
|
| + notified_before_network_start_ = true;
|
| + }
|
| +}
|
| +
|
| +void URLRequest::ResumeNetworkStart() {
|
| + DCHECK(job_);
|
| + DCHECK(notified_before_network_start_);
|
| +
|
| + OnCallToDelegateComplete();
|
| + job_->ResumeNetworkStart();
|
| +}
|
| +
|
| void URLRequest::NotifyResponseStarted() {
|
| int net_error = OK;
|
| if (!status_.is_success())
|
|
|