| Index: net/websockets/websocket_stream.cc
|
| diff --git a/net/websockets/websocket_stream.cc b/net/websockets/websocket_stream.cc
|
| index e81c24e706e702c83d152bd5671f75c27b90d78b..450ce3248aa6aacbe0abb8684fbc43d746e41c65 100644
|
| --- a/net/websockets/websocket_stream.cc
|
| +++ b/net/websockets/websocket_stream.cc
|
| @@ -70,7 +70,25 @@ class StreamRequestImpl : public WebSocketStreamRequest {
|
| }
|
|
|
| void ReportFailure() {
|
| - connect_delegate_->OnFailure(kWebSocketErrorAbnormalClosure);
|
| + std::string failure_message;
|
| + if (create_helper_->stream()) {
|
| + failure_message = create_helper_->stream()->GetFailureMessage();
|
| + } else {
|
| + switch (url_request_.status().status()) {
|
| + case URLRequestStatus::SUCCESS:
|
| + case URLRequestStatus::IO_PENDING:
|
| + break;
|
| + case URLRequestStatus::CANCELED:
|
| + failure_message = "WebSocket opening handshake was canceled";
|
| + break;
|
| + case URLRequestStatus::FAILED:
|
| + failure_message =
|
| + std::string("Error in connection establishment: ") +
|
| + ErrorToString(url_request_.status().error());
|
| + break;
|
| + }
|
| + }
|
| + connect_delegate_->OnFailure(failure_message);
|
| }
|
|
|
| private:
|
|
|