summaryrefslogtreecommitdiffstats
path: root/net/url_request/url_request_job.cc
diff options
context:
space:
mode:
Diffstat (limited to 'net/url_request/url_request_job.cc')
-rw-r--r--net/url_request/url_request_job.cc17
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();
}