Index: net/websockets/websocket_stream.cc |
diff --git a/net/websockets/websocket_stream.cc b/net/websockets/websocket_stream.cc |
index 5920826eb69cd312a26ed043750e34845bbec70d..6598fea81e7b78a0a5a712404e24f4a381a10bd4 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 been already destructed. |
Adam Rice
2017/01/13 11:08:44
Grammar nit: "has already been deleted".
yhirano
2017/01/13 11:15:50
Done.
|
+ url_request->CancelWithError(ERR_WEBSOCKET_HANDSHAKE_SUCCESS); |
} |
std::string FailureMessageFromNetError(int net_error) { |