| Index: net/websockets/websocket_stream.cc
|
| diff --git a/net/websockets/websocket_stream.cc b/net/websockets/websocket_stream.cc
|
| index d1698ae1bc4e3d10502e2bc209a608e61ff50540..d621f39ceb2aac5fb050bf59e7952f393fb4520c 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 GURL& first_party_for_cookies,
|
| const std::string& additional_headers,
|
| std::unique_ptr<WebSocketStream::ConnectDelegate> connect_delegate,
|
| std::unique_ptr<WebSocketHandshakeStreamCreateHelper> create_helper)
|
| @@ -105,6 +106,8 @@ class StreamRequestImpl : public WebSocketStreamRequest {
|
| headers.AddHeadersFromString(additional_headers);
|
|
|
| url_request_->SetExtraRequestHeaders(headers);
|
| + url_request_->set_initiator(origin);
|
| + url_request_->set_first_party_for_cookies(first_party_for_cookies);
|
|
|
| // This passes the ownership of |create_helper_| to |url_request_|.
|
| url_request_->SetUserData(
|
| @@ -336,6 +339,7 @@ std::unique_ptr<WebSocketStreamRequest> WebSocketStream::CreateAndConnectStream(
|
| const GURL& socket_url,
|
| const std::vector<std::string>& requested_subprotocols,
|
| const url::Origin& origin,
|
| + const GURL& first_party_for_cookies,
|
| const std::string& additional_headers,
|
| URLRequestContext* url_request_context,
|
| const BoundNetLog& net_log,
|
| @@ -344,8 +348,9 @@ 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, additional_headers,
|
| - std::move(connect_delegate), std::move(create_helper)));
|
| + socket_url, url_request_context, origin, first_party_for_cookies,
|
| + 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);
|
| }
|
| @@ -355,14 +360,16 @@ std::unique_ptr<WebSocketStreamRequest> CreateAndConnectStreamForTesting(
|
| const GURL& socket_url,
|
| std::unique_ptr<WebSocketHandshakeStreamCreateHelper> create_helper,
|
| const url::Origin& origin,
|
| + const GURL& first_party_for_cookies,
|
| 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, additional_headers,
|
| - std::move(connect_delegate), std::move(create_helper)));
|
| + socket_url, url_request_context, origin, first_party_for_cookies,
|
| + additional_headers, std::move(connect_delegate),
|
| + std::move(create_helper)));
|
| request->Start(std::move(timer));
|
| return std::move(request);
|
| }
|
|
|