| Index: net/websockets/websocket_stream.cc
|
| diff --git a/net/websockets/websocket_stream.cc b/net/websockets/websocket_stream.cc
|
| index 5920826eb69cd312a26ed043750e34845bbec70d..ca73a53a431c03ef69dd6c2a84147dad439c55b2 100644
|
| --- a/net/websockets/websocket_stream.cc
|
| +++ b/net/websockets/websocket_stream.cc
|
| @@ -148,9 +148,13 @@ class WebSocketStreamRequestImpl : public WebSocketStreamRequest {
|
|
|
| timer_->Stop();
|
|
|
| + std::unique_ptr<URLRequest> url_request = std::move(url_request_);
|
| WebSocketHandshakeStreamBase* handshake_stream = handshake_stream_;
|
| handshake_stream_ = nullptr;
|
| connect_delegate_->OnSuccess(handshake_stream->Upgrade());
|
| +
|
| + // This is safe even if |this| has already been deleted.
|
| + url_request->CancelWithError(ERR_WEBSOCKET_HANDSHAKE_SUCCESS);
|
| }
|
|
|
| std::string FailureMessageFromNetError(int net_error) {
|
|
|