Index: net/websockets/websocket_stream.cc |
diff --git a/net/websockets/websocket_stream.cc b/net/websockets/websocket_stream.cc |
index e81c24e706e702c83d152bd5671f75c27b90d78b..f40da4da2fd7ed13d01b1414c374b89c6bb4db54 100644 |
--- a/net/websockets/websocket_stream.cc |
+++ b/net/websockets/websocket_stream.cc |
@@ -70,7 +70,20 @@ 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 { |
+ const URLRequestStatus& status = url_request_.status(); |
+ if (status.status() == URLRequestStatus::CANCELED) { |
tyoshino (SeeGerritForStatus)
2014/01/09 04:08:48
use switch?
yhirano
2014/01/09 05:24:51
Done.
|
+ failure_message = "WebSocket opening handshake was canceled"; |
+ } else if (status.status() == URLRequestStatus::FAILED) { |
+ failure_message = |
+ std::string("Error in connection establishment: ") + |
+ ErrorToString(status.error()); |
+ } |
+ } |
+ connect_delegate_->OnFailure(failure_message); |
} |
private: |