| Index: net/url_request/url_request.cc
|
| diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
|
| index 26a9da247bafa28df8affbaca15144b914aecb38..de882838b84a4eed3bbef9ec7d229379150e478b 100644
|
| --- a/net/url_request/url_request.cc
|
| +++ b/net/url_request/url_request.cc
|
| @@ -102,6 +102,7 @@ URLRequest::URLRequest(const GURL& url, Delegate* delegate)
|
| delegate_(delegate),
|
| is_pending_(false),
|
| enable_profiling_(false),
|
| + chunked_transfer_upload_(false),
|
| redirect_limit_(kMaxRedirects),
|
| final_upload_progress_(0),
|
| priority_(net::LOWEST) {
|
| @@ -160,6 +161,17 @@ void URLRequest::AppendFileRangeToUpload(
|
| expected_modification_time);
|
| }
|
|
|
| +void URLRequest::AppendChunkToUpload(const char* bytes, int bytes_len) {
|
| + DCHECK(bytes_len > 0);
|
| + DCHECK(upload_);
|
| + upload_->AppendChunk(bytes, bytes_len);
|
| +}
|
| +
|
| +void URLRequest::MarkEndOfChunks() {
|
| + DCHECK(upload_);
|
| + upload_->AppendChunk(NULL, 0);
|
| +}
|
| +
|
| void URLRequest::set_upload(net::UploadData* upload) {
|
| upload_ = upload;
|
| }
|
| @@ -316,6 +328,12 @@ GURL URLRequest::GetSanitizedReferrer() const {
|
| }
|
|
|
| void URLRequest::Start() {
|
| + if (chunked_transfer_upload_) {
|
| + DCHECK(!upload_);
|
| + upload_ = new UploadData();
|
| + upload_->set_is_chunked(true);
|
| + }
|
| +
|
| StartJob(URLRequestJobManager::GetInstance()->CreateJob(this));
|
| }
|
|
|
|
|