| Index: net/url_request/url_request.cc
|
| diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
|
| index 099b57b322344d4fafa49420301a288035a48249..c9fc4fa28e79320e4b3ffb21df3bf7f4d6c00fc3 100644
|
| --- a/net/url_request/url_request.cc
|
| +++ b/net/url_request/url_request.cc
|
| @@ -43,7 +43,8 @@ void StripPostSpecificHeaders(net::HttpRequestHeaders* headers) {
|
| }
|
|
|
| // This counter keeps track of the identifiers used for URL requests so far.
|
| -uint64 g_next_url_request_identifier = 0;
|
| +// 0 is reserved to represent an invalid ID.
|
| +uint64 g_next_url_request_identifier = 1;
|
|
|
| // This lock protects g_next_url_request_identifier.
|
| base::Lock g_next_url_request_identifier_lock;
|
| @@ -131,6 +132,9 @@ URLRequest::URLRequest(const GURL& url, Delegate* delegate)
|
| }
|
|
|
| URLRequest::~URLRequest() {
|
| + if (context_ && context_->network_delegate())
|
| + context_->network_delegate()->NotifyURLRequestDestroyed(this);
|
| +
|
| if (before_request_callback_)
|
| before_request_callback_->Cancel();
|
|
|
| @@ -363,7 +367,7 @@ void URLRequest::Start() {
|
| before_request_callback_ = new CancelableCompletionCallback<URLRequest>(
|
| this, &URLRequest::BeforeRequestComplete);
|
| if (context_->network_delegate()->NotifyBeforeURLRequest(
|
| - this, before_request_callback_)) {
|
| + this, before_request_callback_) == net::ERR_IO_PENDING) {
|
| before_request_callback_->AddRef(); // balanced in BeforeRequestComplete
|
| net_log_.BeginEvent(NetLog::TYPE_URL_REQUEST_BLOCKED_ON_EXTENSION, NULL);
|
| return; // paused
|
|
|