Index: net/websockets/websocket_stream.cc |
diff --git a/net/websockets/websocket_stream.cc b/net/websockets/websocket_stream.cc |
index e81c24e706e702c83d152bd5671f75c27b90d78b..57267fd5d05c7d82883f7f820e0e2d81f4744dad 100644 |
--- a/net/websockets/websocket_stream.cc |
+++ b/net/websockets/websocket_stream.cc |
@@ -70,7 +70,24 @@ 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()) { |
tyoshino (SeeGerritForStatus)
2014/01/09 05:52:05
how about listing all cases so that -Wswitch-enum
yhirano
2014/01/09 06:04:19
Done.
|
+ 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; |
+ default: |
+ break; |
+ } |
+ } |
+ connect_delegate_->OnFailure(failure_message); |
} |
private: |