diff options
Diffstat (limited to 'net/url_request/url_request_job.cc')
-rw-r--r-- | net/url_request/url_request_job.cc | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/net/url_request/url_request_job.cc b/net/url_request/url_request_job.cc index b5309c2..544913d 100644 --- a/net/url_request/url_request_job.cc +++ b/net/url_request/url_request_job.cc @@ -337,9 +337,9 @@ void URLRequestJob::NotifyHeadersComplete() { // Toggle this flag to true so the consumer can access response headers. // Then toggle it back if we choose to follow the redirect. has_handled_response_ = true; - request_->delegate()->OnReceivedRedirect(request_, new_location); + request_->ReceivedRedirect(new_location); - // Ensure that the request wasn't destroyed in OnReceivedRedirect + // Ensure that the request wasn't detached or destroyed in ReceivedRedirect if (!request_ || !request_->delegate()) return; @@ -372,7 +372,7 @@ void URLRequestJob::NotifyHeadersComplete() { expected_content_size_ = StringToInt64(content_length); } - request_->delegate()->OnResponseStarted(request_); + request_->ResponseStarted(); } void URLRequestJob::NotifyStartError(const URLRequestStatus &status) { @@ -380,8 +380,7 @@ void URLRequestJob::NotifyStartError(const URLRequestStatus &status) { has_handled_response_ = true; if (request_) { request_->set_status(status); - if (request_->delegate()) - request_->delegate()->OnResponseStarted(request_); + request_->ResponseStarted(); } } @@ -482,7 +481,7 @@ void URLRequestJob::CompleteNotifyDone() { request_->delegate()->OnReadCompleted(request_, -1); } else { has_handled_response_ = true; - request_->delegate()->OnResponseStarted(request_); + request_->ResponseStarted(); } } } @@ -494,6 +493,12 @@ void URLRequestJob::NotifyCanceled() { } } +void URLRequestJob::NotifyRestartRequired() { + DCHECK(!has_handled_response_); + if (GetStatus().status() != URLRequestStatus::CANCELED) + request_->Restart(); +} + bool URLRequestJob::FilterHasData() { return filter_.get() && filter_->stream_data_len(); } |