Index: net/url_request/url_request_job.cc |
diff --git a/net/url_request/url_request_job.cc b/net/url_request/url_request_job.cc |
index 14c5c8f00adb08a0eb5d8bf2909d6187c6c7f18a..8d0b23a01f3a20e48a7fb33cc65198f57923952d 100644 |
--- a/net/url_request/url_request_job.cc |
+++ b/net/url_request/url_request_job.cc |
@@ -378,7 +378,9 @@ void URLRequestJob::NotifyHeadersComplete() { |
if (has_handled_response_) |
return; |
mmenke
2015/08/03 21:01:20
These three checks seem aimed at papering over bug
davidben
2015/08/05 18:56:39
Clearly we should unrefcount URLRequestJob. :-) Th
mmenke
2015/08/05 20:00:24
I agree with removing refcounting, but that wouldn
|
- DCHECK(!request_->status().is_io_pending()); |
+ // This should not be called on error, and the job type should have cleared |
+ // IO_PENDING state before calling this method. |
+ DCHECK(request_->status().is_success()); |
// Initialize to the current time, and let the subclass optionally override |
// the time stamps if it has that information. The default request_time is |
@@ -761,8 +763,12 @@ const URLRequestStatus URLRequestJob::GetStatus() { |
} |
void URLRequestJob::SetStatus(const URLRequestStatus &status) { |
- if (request_) |
+ if (request_) { |
+ // A URLRequestJob should not replace a failed or cancelled status. |
+ DCHECK(request_->status().is_success() || |
+ request_->status().is_io_pending()); |
mmenke
2015/08/03 21:01:20
Want to change the added DCHECKs to CHECKs (Partic
davidben
2015/08/05 18:56:39
SGTM.
|
request_->set_status(status); |
+ } |
} |
void URLRequestJob::SetProxyServer(const HostPortPair& proxy_server) { |