| Index: net/websockets/websocket_stream.cc
|
| diff --git a/net/websockets/websocket_stream.cc b/net/websockets/websocket_stream.cc
|
| index 560cbad87b42fe0f8a2000b3028e6e9311f333d0..d1698ae1bc4e3d10502e2bc209a608e61ff50540 100644
|
| --- a/net/websockets/websocket_stream.cc
|
| +++ b/net/websockets/websocket_stream.cc
|
| @@ -86,6 +86,7 @@ class StreamRequestImpl : public WebSocketStreamRequest {
|
| const GURL& url,
|
| const URLRequestContext* context,
|
| const url::Origin& origin,
|
| + const std::string& additional_headers,
|
| std::unique_ptr<WebSocketStream::ConnectDelegate> connect_delegate,
|
| std::unique_ptr<WebSocketHandshakeStreamCreateHelper> create_helper)
|
| : delegate_(new Delegate(this)),
|
| @@ -100,6 +101,9 @@ class StreamRequestImpl : public WebSocketStreamRequest {
|
| headers.SetHeader(HttpRequestHeaders::kOrigin, origin.Serialize());
|
| headers.SetHeader(websockets::kSecWebSocketVersion,
|
| websockets::kSupportedVersion);
|
| +
|
| + headers.AddHeadersFromString(additional_headers);
|
| +
|
| url_request_->SetExtraRequestHeaders(headers);
|
|
|
| // This passes the ownership of |create_helper_| to |url_request_|.
|
| @@ -332,6 +336,7 @@ std::unique_ptr<WebSocketStreamRequest> WebSocketStream::CreateAndConnectStream(
|
| const GURL& socket_url,
|
| const std::vector<std::string>& requested_subprotocols,
|
| const url::Origin& origin,
|
| + const std::string& additional_headers,
|
| URLRequestContext* url_request_context,
|
| const BoundNetLog& net_log,
|
| std::unique_ptr<ConnectDelegate> connect_delegate) {
|
| @@ -339,8 +344,8 @@ std::unique_ptr<WebSocketStreamRequest> WebSocketStream::CreateAndConnectStream(
|
| new WebSocketHandshakeStreamCreateHelper(connect_delegate.get(),
|
| requested_subprotocols));
|
| std::unique_ptr<StreamRequestImpl> request(new StreamRequestImpl(
|
| - socket_url, url_request_context, origin, std::move(connect_delegate),
|
| - std::move(create_helper)));
|
| + socket_url, url_request_context, origin, additional_headers,
|
| + std::move(connect_delegate), std::move(create_helper)));
|
| request->Start(std::unique_ptr<base::Timer>(new base::Timer(false, false)));
|
| return std::move(request);
|
| }
|
| @@ -350,13 +355,14 @@ std::unique_ptr<WebSocketStreamRequest> CreateAndConnectStreamForTesting(
|
| const GURL& socket_url,
|
| std::unique_ptr<WebSocketHandshakeStreamCreateHelper> create_helper,
|
| const url::Origin& origin,
|
| + const std::string& additional_headers,
|
| URLRequestContext* url_request_context,
|
| const BoundNetLog& net_log,
|
| std::unique_ptr<WebSocketStream::ConnectDelegate> connect_delegate,
|
| std::unique_ptr<base::Timer> timer) {
|
| std::unique_ptr<StreamRequestImpl> request(new StreamRequestImpl(
|
| - socket_url, url_request_context, origin, std::move(connect_delegate),
|
| - std::move(create_helper)));
|
| + socket_url, url_request_context, origin, additional_headers,
|
| + std::move(connect_delegate), std::move(create_helper)));
|
| request->Start(std::move(timer));
|
| return std::move(request);
|
| }
|
|
|