summaryrefslogtreecommitdiffstats
path: root/net/http
diff options
context:
space:
mode:
authorjianli@chromium.org <jianli@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-24 23:37:50 +0000
committerjianli@chromium.org <jianli@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-24 23:37:50 +0000
commit7a6db4024aa668fd49741c4c34965ab674efaac6 (patch)
tree291de61ee2f86da940a5c9c0a67a79d394478a8e /net/http
parente8b3ddfde11a59bc910697090906dd36f0426401 (diff)
downloadchromium_src-7a6db4024aa668fd49741c4c34965ab674efaac6.zip
chromium_src-7a6db4024aa668fd49741c4c34965ab674efaac6.tar.gz
chromium_src-7a6db4024aa668fd49741c4c34965ab674efaac6.tar.bz2
Support sending a sliced file in chromium.
BUG=none TEST=The WebKit Layout test. Review URL: http://codereview.chromium.org/594036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42559 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/http')
-rw-r--r--net/http/http_network_transaction.cc17
1 files changed, 13 insertions, 4 deletions
diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc
index 1a2c9a0..218f26d 100644
--- a/net/http/http_network_transaction.cc
+++ b/net/http/http_network_transaction.cc
@@ -887,8 +887,12 @@ int HttpNetworkTransaction::DoSendRequest() {
next_state_ = STATE_SEND_REQUEST_COMPLETE;
UploadDataStream* request_body = NULL;
- if (!establishing_tunnel_ && request_->upload_data)
- request_body = new UploadDataStream(request_->upload_data);
+ if (!establishing_tunnel_ && request_->upload_data) {
+ int error_code;
+ request_body = UploadDataStream::Create(request_->upload_data, &error_code);
+ if (!request_body)
+ return error_code;
+ }
// This is constructed lazily (instead of within our Start method), so that
// we have proxy info available.
@@ -1187,8 +1191,13 @@ int HttpNetworkTransaction::DoSpdySendRequest() {
CHECK(spdy_session.get());
- UploadDataStream* upload_data = request_->upload_data ?
- new UploadDataStream(request_->upload_data) : NULL;
+ UploadDataStream* upload_data = NULL;
+ if (request_->upload_data) {
+ int error_code = OK;
+ upload_data = UploadDataStream::Create(request_->upload_data, &error_code);
+ if (!upload_data)
+ return error_code;
+ }
headers_valid_ = false;
spdy_stream_ = spdy_session->GetOrCreateStream(
*request_, upload_data, net_log_);