| Index: net/spdy/spdy_stream.cc
|
| diff --git a/net/spdy/spdy_stream.cc b/net/spdy/spdy_stream.cc
|
| index 1de67f22f8b99b9bf6c3a8a5ca05ad0f88f60043..72a1a4f2daac9ad613340d6f3c9b51f5ea9a6986 100644
|
| --- a/net/spdy/spdy_stream.cc
|
| +++ b/net/spdy/spdy_stream.cc
|
| @@ -32,11 +32,6 @@ SpdyStream::SpdyStream(
|
|
|
| SpdyStream::~SpdyStream() {
|
| DLOG(INFO) << "Deleting SpdyStream for stream " << stream_id_;
|
| -
|
| - // When the stream_id_ is 0, we expect that it is because
|
| - // we've cancelled or closed the stream and set the stream_id to 0.
|
| - if (!stream_id_)
|
| - DCHECK(response_complete_);
|
| }
|
|
|
| void SpdyStream::SetDelegate(Delegate* delegate) {
|
| @@ -58,7 +53,7 @@ void SpdyStream::SetDelegate(Delegate* delegate) {
|
|
|
| void SpdyStream::DetachDelegate() {
|
| delegate_ = NULL;
|
| - if (!cancelled())
|
| + if (!response_complete_ && !cancelled())
|
| Cancel();
|
| }
|
|
|
| @@ -214,7 +209,6 @@ void SpdyStream::OnWriteComplete(int status) {
|
| void SpdyStream::OnClose(int status) {
|
| response_complete_ = true;
|
| response_status_ = status;
|
| - stream_id_ = 0;
|
| Delegate* delegate = delegate_;
|
| delegate_ = NULL;
|
| if (delegate)
|
|
|