| Index: net/websockets/websocket_stream.cc
|
| diff --git a/net/websockets/websocket_stream.cc b/net/websockets/websocket_stream.cc
|
| index 507ed9dadde4237a5b549e32bc16dcf851b0c756..794aca4a3d5160c8bb7173700f428ea6d9988c7c 100644
|
| --- a/net/websockets/websocket_stream.cc
|
| +++ b/net/websockets/websocket_stream.cc
|
| @@ -146,7 +146,7 @@ void Delegate::OnReadCompleted(URLRequest* request, int bytes_read) {
|
| scoped_ptr<WebSocketStreamRequest> CreateAndConnectStreamWithCreateHelper(
|
| const GURL& socket_url,
|
| scoped_ptr<WebSocketHandshakeStreamCreateHelper> create_helper,
|
| - const GURL& origin,
|
| + const GURL& origin_url,
|
| URLRequestContext* url_request_context,
|
| const BoundNetLog& net_log,
|
| scoped_ptr<WebSocketStream::ConnectDelegate> connect_delegate) {
|
| @@ -156,9 +156,20 @@ scoped_ptr<WebSocketStreamRequest> CreateAndConnectStreamWithCreateHelper(
|
| connect_delegate.Pass(),
|
| create_helper.get()));
|
| HttpRequestHeaders headers;
|
| + std::string origin;
|
| + if (origin_url.is_valid()) {
|
| + // GURL::spec() adds a slash at the end of an origin,
|
| + // so we construct the origin string representation by hand.
|
| + origin = origin_url.scheme() + "://" + origin_url.host();
|
| + if (origin_url.has_port())
|
| + origin += ":" + origin_url.port();
|
| + } else {
|
| + origin = "null";
|
| + }
|
| +
|
| headers.SetHeader(websockets::kUpgrade, websockets::kWebSocketLowercase);
|
| headers.SetHeader(HttpRequestHeaders::kConnection, websockets::kUpgrade);
|
| - headers.SetHeader(HttpRequestHeaders::kOrigin, origin.spec());
|
| + headers.SetHeader(HttpRequestHeaders::kOrigin, origin);
|
| // TODO(ricea): Move the version number to websocket_handshake_constants.h
|
| headers.SetHeader(websockets::kSecWebSocketVersion,
|
| websockets::kSupportedVersion);
|
|
|