Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(899)

Unified Diff: net/url_request/url_request.cc

Issue 1563633002: Make URLRequestJob::SetStatus private. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Response to comments Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/url_request/url_request.cc
diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
index 4d1a871d39eec390bfaee27f446f4f34ef510ddb..403946659d49bacc7587cc7dc5ed06438cfa8cda 100644
--- a/net/url_request/url_request.cc
+++ b/net/url_request/url_request.cc
@@ -658,10 +658,13 @@ void URLRequest::StartJob(URLRequestJob* job) {
}
}
- // Don't allow errors to be sent from within Start().
- // TODO(brettw) this may cause NotifyDone to be sent synchronously,
- // we probably don't want this: they should be sent asynchronously so
- // the caller does not get reentered.
+ // Start() always completes asynchronously.
+ //
+ // Status is generally set by URLRequestJob itself, but Start() calls
+ // directly into the URLRequestJob subclass, so URLRequestJob can't set it
+ // here.
+ // TODO(mmenke): Make the URLRequest manage its own status.
+ status_ = URLRequestStatus::FromError(ERR_IO_PENDING);
job_->Start();
}
@@ -855,9 +858,10 @@ void URLRequest::NotifyResponseStarted() {
}
void URLRequest::FollowDeferredRedirect() {
- CHECK(job_.get());
- CHECK(status_.is_success());
+ DCHECK(job_.get());
+ DCHECK(status_.is_success());
+ status_ = URLRequestStatus::FromError(ERR_IO_PENDING);
job_->FollowDeferredRedirect();
}
@@ -865,6 +869,7 @@ void URLRequest::SetAuth(const AuthCredentials& credentials) {
DCHECK(job_.get());
DCHECK(job_->NeedsAuth());
+ status_ = URLRequestStatus::FromError(ERR_IO_PENDING);
job_->SetAuth(credentials);
}
@@ -872,6 +877,7 @@ void URLRequest::CancelAuth() {
DCHECK(job_.get());
DCHECK(job_->NeedsAuth());
+ status_ = URLRequestStatus::FromError(ERR_IO_PENDING);
job_->CancelAuth();
}
@@ -879,12 +885,14 @@ void URLRequest::ContinueWithCertificate(X509Certificate* client_cert,
SSLPrivateKey* client_private_key) {
DCHECK(job_.get());
+ status_ = URLRequestStatus::FromError(ERR_IO_PENDING);
job_->ContinueWithCertificate(client_cert, client_private_key);
}
void URLRequest::ContinueDespiteLastError() {
DCHECK(job_.get());
+ status_ = URLRequestStatus::FromError(ERR_IO_PENDING);
job_->ContinueDespiteLastError();
}
@@ -1111,11 +1119,13 @@ void URLRequest::NotifyAuthRequiredComplete(
void URLRequest::NotifyCertificateRequested(
SSLCertRequestInfo* cert_request_info) {
+ status_ = URLRequestStatus();
delegate_->OnCertificateRequested(this, cert_request_info);
}
void URLRequest::NotifySSLCertificateError(const SSLInfo& ssl_info,
bool fatal) {
+ status_ = URLRequestStatus();
delegate_->OnSSLCertificateError(this, ssl_info, fatal);
}

Powered by Google App Engine
This is Rietveld 408576698