| Index: net/spdy/spdy_stream.cc
|
| diff --git a/net/spdy/spdy_stream.cc b/net/spdy/spdy_stream.cc
|
| index 72a1a4f2daac9ad613340d6f3c9b51f5ea9a6986..145141ebd4c3b4901361a553036a39b4bef99a0a 100644
|
| --- a/net/spdy/spdy_stream.cc
|
| +++ b/net/spdy/spdy_stream.cc
|
| @@ -53,7 +53,7 @@ void SpdyStream::SetDelegate(Delegate* delegate) {
|
|
|
| void SpdyStream::DetachDelegate() {
|
| delegate_ = NULL;
|
| - if (!response_complete_ && !cancelled())
|
| + if (!response_complete_)
|
| Cancel();
|
| }
|
|
|
| @@ -216,8 +216,12 @@ void SpdyStream::OnClose(int status) {
|
| }
|
|
|
| void SpdyStream::Cancel() {
|
| + if (cancelled())
|
| + return;
|
| +
|
| cancelled_ = true;
|
| - session_->CloseStream(stream_id_, ERR_ABORTED);
|
| + if(session_->IsStreamActive(stream_id_))
|
| + session_->ResetStream(stream_id_, spdy::CANCEL);
|
| }
|
|
|
| int SpdyStream::DoSendRequest(bool has_upload_data) {
|
|
|