Index: net/url_request/url_request.cc |
diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc |
index dcbaf36a6a5e93bc7ddd60b76944f4c20267364f..51fb74b6506c051088573be874acd58249317e37 100644 |
--- a/net/url_request/url_request.cc |
+++ b/net/url_request/url_request.cc |
@@ -362,7 +362,10 @@ UploadProgress URLRequest::GetUploadProgress() const { |
// cached results from the initial job, the POST. |
return final_upload_progress_; |
} |
- return job_->GetUploadProgress(); |
+ if (upload_data_stream_) { |
+ return upload_data_stream_->GetUploadProgress(); |
+ } |
+ return UploadProgress(); |
} |
void URLRequest::GetResponseHeaderByName(const string& name, |
@@ -961,8 +964,8 @@ int URLRequest::Redirect(const RedirectInfo& redirect_info) { |
return ERR_UNSAFE_REDIRECT; |
} |
- if (!final_upload_progress_.position()) |
- final_upload_progress_ = job_->GetUploadProgress(); |
+ if (!final_upload_progress_.position() && upload_data_stream_) |
+ final_upload_progress_ = upload_data_stream_->GetUploadProgress(); |
PrepareToRestart(); |
if (redirect_info.new_method != method_) { |