summaryrefslogtreecommitdiffstats
path: root/net/http
diff options
context:
space:
mode:
authorhashimoto@chromium.org <hashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-20 11:50:24 +0000
committerhashimoto@chromium.org <hashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-20 11:50:24 +0000
commit4db27d802c70279a1e54f028c35eb9ff658fdd6c (patch)
treed405d57a308ac4b11760d71421ce76c9be08bd46 /net/http
parent46e404d69b13063c29a67b8f0349356afbe54796 (diff)
downloadchromium_src-4db27d802c70279a1e54f028c35eb9ff658fdd6c.zip
chromium_src-4db27d802c70279a1e54f028c35eb9ff658fdd6c.tar.gz
chromium_src-4db27d802c70279a1e54f028c35eb9ff658fdd6c.tar.bz2
net: Split sync part of UploadFileElementReader as UploadFileElementReaderSync
Add UploadFileElementReaderSync and use it from Chrome Frame. Remove UploadDataStream::InitSync/ReadSync Remove UploadElementReader::InitSync/ReadSync Allow passing null callbacks for Init/Read when callers can be confident that the operation finishes synchronously. BUG=None TEST=net_unittests, chrome_frame_net_tests TBR=ananta@chromium.org for chrome_frame/urlmon_upload_data_stream.cc Review URL: https://chromiumcodereview.appspot.com/11587007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174133 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/http')
-rw-r--r--net/http/http_stream_parser.cc4
-rw-r--r--net/http/http_stream_parser_unittest.cc14
2 files changed, 10 insertions, 8 deletions
diff --git a/net/http/http_stream_parser.cc b/net/http/http_stream_parser.cc
index 95e2ba6..d08d62db 100644
--- a/net/http/http_stream_parser.cc
+++ b/net/http/http_stream_parser.cc
@@ -255,8 +255,8 @@ int HttpStreamParser::SendRequest(const std::string& request_line,
size_t todo = request_->upload_data_stream->size();
while (todo) {
- int consumed = request_->upload_data_stream->ReadSync(request_headers_,
- todo);
+ int consumed = request_->upload_data_stream->Read(request_headers_, todo,
+ CompletionCallback());
DCHECK_GT(consumed, 0); // Read() won't fail if not chunked.
request_headers_->DidConsume(consumed);
todo -= consumed;
diff --git a/net/http/http_stream_parser_unittest.cc b/net/http/http_stream_parser_unittest.cc
index b62f539..f7e69a9 100644
--- a/net/http/http_stream_parser_unittest.cc
+++ b/net/http/http_stream_parser_unittest.cc
@@ -98,7 +98,7 @@ TEST(HttpStreamParser, ShouldMergeRequestHeadersAndBody_NoBody) {
TEST(HttpStreamParser, ShouldMergeRequestHeadersAndBody_EmptyBody) {
ScopedVector<UploadElementReader> element_readers;
scoped_ptr<UploadDataStream> body(new UploadDataStream(&element_readers, 0));
- ASSERT_EQ(OK, body->InitSync());
+ ASSERT_EQ(OK, body->Init(CompletionCallback()));
// Shouldn't be merged if upload data is empty.
ASSERT_FALSE(HttpStreamParser::ShouldMergeRequestHeadersAndBody(
"some header", body.get()));
@@ -109,7 +109,7 @@ TEST(HttpStreamParser, ShouldMergeRequestHeadersAndBody_ChunkedBody) {
scoped_ptr<UploadDataStream> body(
new UploadDataStream(UploadDataStream::CHUNKED, 0));
body->AppendChunk(payload.data(), payload.size(), true);
- ASSERT_EQ(OK, body->InitSync());
+ ASSERT_EQ(OK, body->Init(CompletionCallback()));
// Shouldn't be merged if upload data carries chunked data.
ASSERT_FALSE(HttpStreamParser::ShouldMergeRequestHeadersAndBody(
"some header", body.get()));
@@ -129,7 +129,9 @@ TEST(HttpStreamParser, ShouldMergeRequestHeadersAndBody_FileBody) {
temp_file_path, 0, 0, base::Time()));
scoped_ptr<UploadDataStream> body(new UploadDataStream(&element_readers, 0));
- ASSERT_EQ(OK, body->InitSync());
+ TestCompletionCallback callback;
+ ASSERT_EQ(ERR_IO_PENDING, body->Init(callback.callback()));
+ ASSERT_EQ(OK, callback.WaitForResult());
// Shouldn't be merged if upload data carries a file, as it's not in-memory.
ASSERT_FALSE(HttpStreamParser::ShouldMergeRequestHeadersAndBody(
"some header", body.get()));
@@ -142,7 +144,7 @@ TEST(HttpStreamParser, ShouldMergeRequestHeadersAndBody_SmallBodyInMemory) {
payload.data(), payload.size()));
scoped_ptr<UploadDataStream> body(new UploadDataStream(&element_readers, 0));
- ASSERT_EQ(OK, body->InitSync());
+ ASSERT_EQ(OK, body->Init(CompletionCallback()));
// Yes, should be merged if the in-memory body is small here.
ASSERT_TRUE(HttpStreamParser::ShouldMergeRequestHeadersAndBody(
"some header", body.get()));
@@ -155,7 +157,7 @@ TEST(HttpStreamParser, ShouldMergeRequestHeadersAndBody_LargeBodyInMemory) {
payload.data(), payload.size()));
scoped_ptr<UploadDataStream> body(new UploadDataStream(&element_readers, 0));
- ASSERT_EQ(OK, body->InitSync());
+ ASSERT_EQ(OK, body->Init(CompletionCallback()));
// Shouldn't be merged if the in-memory body is large here.
ASSERT_FALSE(HttpStreamParser::ShouldMergeRequestHeadersAndBody(
"some header", body.get()));
@@ -198,7 +200,7 @@ TEST(HttpStreamParser, AsyncChunkAndAsyncSocket) {
UploadDataStream upload_stream(UploadDataStream::CHUNKED, 0);
upload_stream.AppendChunk(kChunk1, arraysize(kChunk1) - 1, false);
- ASSERT_EQ(OK, upload_stream.InitSync());
+ ASSERT_EQ(OK, upload_stream.Init(CompletionCallback()));
DeterministicSocketData data(reads, arraysize(reads),
writes, arraysize(writes));