| Index: net/quic/chromium/bidirectional_stream_quic_impl.cc
 | 
| diff --git a/net/quic/chromium/bidirectional_stream_quic_impl.cc b/net/quic/chromium/bidirectional_stream_quic_impl.cc
 | 
| index 1afd2b60b0d00856e45269925162b9c193bfeefd..17a9f7960843122c69862de0016df3648b89ded8 100644
 | 
| --- a/net/quic/chromium/bidirectional_stream_quic_impl.cc
 | 
| +++ b/net/quic/chromium/bidirectional_stream_quic_impl.cc
 | 
| @@ -227,16 +227,6 @@ bool BidirectionalStreamQuicImpl::GetLoadTimingInfo(
 | 
|    return true;
 | 
|  }
 | 
|  
 | 
| -void BidirectionalStreamQuicImpl::OnInitialHeadersAvailable(
 | 
| -    const SpdyHeaderBlock& headers,
 | 
| -    size_t frame_len) {
 | 
| -  headers_bytes_received_ += frame_len;
 | 
| -  negotiated_protocol_ = kProtoQUIC;
 | 
| -  connect_timing_ = session_->GetConnectTiming();
 | 
| -  if (delegate_)
 | 
| -    delegate_->OnHeadersReceived(headers);
 | 
| -}
 | 
| -
 | 
|  void BidirectionalStreamQuicImpl::OnTrailingHeadersAvailable(
 | 
|      const SpdyHeaderBlock& headers,
 | 
|      size_t frame_len) {
 | 
| @@ -295,6 +285,15 @@ void BidirectionalStreamQuicImpl::OnStreamReady(int rv) {
 | 
|    if (rv == OK) {
 | 
|      stream_ = session_->ReleaseStream(this);
 | 
|      NotifyStreamReady();
 | 
| +
 | 
| +    rv = stream_->ReadInitialHeaders(
 | 
| +        &initial_headers_,
 | 
| +        base::Bind(&BidirectionalStreamQuicImpl::OnReadInitialHeadersComplete,
 | 
| +                   weak_factory_.GetWeakPtr()));
 | 
| +    if (rv == ERR_IO_PENDING)
 | 
| +      return;
 | 
| +
 | 
| +    OnReadInitialHeadersComplete(rv);
 | 
|    } else {
 | 
|      NotifyError(rv);
 | 
|    }
 | 
| @@ -310,6 +309,20 @@ void BidirectionalStreamQuicImpl::OnSendDataComplete(int rv) {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +void BidirectionalStreamQuicImpl::OnReadInitialHeadersComplete(int rv) {
 | 
| +  DCHECK_NE(ERR_IO_PENDING, rv);
 | 
| +  if (rv < 0) {
 | 
| +    NotifyError(rv);
 | 
| +    return;
 | 
| +  }
 | 
| +
 | 
| +  headers_bytes_received_ += rv;
 | 
| +  negotiated_protocol_ = kProtoQUIC;
 | 
| +  connect_timing_ = session_->GetConnectTiming();
 | 
| +  if (delegate_)
 | 
| +    delegate_->OnHeadersReceived(initial_headers_);
 | 
| +}
 | 
| +
 | 
|  void BidirectionalStreamQuicImpl::NotifyError(int error) {
 | 
|    DCHECK_NE(OK, error);
 | 
|    DCHECK_NE(ERR_IO_PENDING, error);
 | 
| 
 |