Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / net / spdy / spdy_http_stream.cc
index 878ccb0..25be332 100644 (file)
@@ -27,8 +27,7 @@ namespace net {
 
 SpdyHttpStream::SpdyHttpStream(const base::WeakPtr<SpdySession>& spdy_session,
                                bool direct)
-    : weak_factory_(this),
-      spdy_session_(spdy_session),
+    : spdy_session_(spdy_session),
       is_reused_(spdy_session_->IsReused()),
       stream_closed_(false),
       closed_stream_status_(ERR_FAILED),
@@ -41,7 +40,8 @@ SpdyHttpStream::SpdyHttpStream(const base::WeakPtr<SpdySession>& spdy_session,
       request_body_buf_size_(0),
       buffered_read_callback_pending_(false),
       more_read_data_pending_(false),
-      direct_(direct) {
+      direct_(direct),
+      weak_factory_(this) {
   DCHECK(spdy_session_.get());
 }
 
@@ -89,10 +89,6 @@ int SpdyHttpStream::InitializeStream(const HttpRequestInfo* request_info,
   return rv;
 }
 
-const HttpResponseInfo* SpdyHttpStream::GetResponseInfo() const {
-  return response_info_;
-}
-
 UploadProgress SpdyHttpStream::GetUploadProgress() const {
   if (!request_info_ || !HasUploadData())
     return UploadProgress();
@@ -110,7 +106,7 @@ int SpdyHttpStream::ReadResponseHeaders(const CompletionCallback& callback) {
 
   // Check if we already have the response headers. If so, return synchronously.
   if (response_headers_status_ == RESPONSE_HEADERS_ARE_COMPLETE) {
-    CHECK(stream_->IsIdle());
+    CHECK(!stream_->IsIdle());
     return OK;
   }
 
@@ -123,7 +119,7 @@ int SpdyHttpStream::ReadResponseHeaders(const CompletionCallback& callback) {
 int SpdyHttpStream::ReadResponseBody(
     IOBuffer* buf, int buf_len, const CompletionCallback& callback) {
   if (stream_.get())
-    CHECK(stream_->IsIdle());
+    CHECK(!stream_->IsIdle());
 
   CHECK(buf);
   CHECK(buf_len);
@@ -210,10 +206,7 @@ int SpdyHttpStream::SendRequest(const HttpRequestHeaders& request_headers,
                                 HttpResponseInfo* response,
                                 const CompletionCallback& callback) {
   if (stream_closed_) {
-    if (stream_->type() == SPDY_PUSH_STREAM)
-      return closed_stream_status_;
-
-    return (closed_stream_status_ == OK) ? ERR_FAILED : closed_stream_status_;
+    return closed_stream_status_;
   }
 
   base::Time request_time = base::Time::Now();
@@ -270,8 +263,8 @@ int SpdyHttpStream::SendRequest(const HttpRequestHeaders& request_headers,
     scoped_ptr<SpdyHeaderBlock> headers(new SpdyHeaderBlock);
     CreateSpdyHeadersFromHttpRequest(
         *request_info_, request_headers,
-        headers.get(), stream_->GetProtocolVersion(),
-        direct_);
+        stream_->GetProtocolVersion(), direct_,
+        headers.get());
     stream_->net_log().AddEvent(
         NetLog::TYPE_HTTP_TRANSACTION_SPDY_SEND_REQUEST_HEADERS,
         base::Bind(&SpdyHeaderBlockNetLogCallback, headers.get()));
@@ -431,6 +424,7 @@ void SpdyHttpStream::OnRequestBodyReadCompleted(int status) {
   CHECK_GE(status, 0);
   request_body_buf_size_ = status;
   const bool eof = request_info_->upload_data_stream->IsEOF();
+  // Only the final fame may have a length of 0.
   if (eof) {
     CHECK_GE(request_body_buf_size_, 0);
   } else {