summaryrefslogtreecommitdiff
path: root/chromium/net/socket/websocket_transport_client_socket_pool.cc
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2019-07-31 15:50:41 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2019-08-30 12:35:23 +0000
commit7b2ffa587235a47d4094787d72f38102089f402a (patch)
tree30e82af9cbab08a7fa028bb18f4f2987a3f74dfa /chromium/net/socket/websocket_transport_client_socket_pool.cc
parentd94af01c90575348c4e81a418257f254b6f8d225 (diff)
downloadqtwebengine-chromium-7b2ffa587235a47d4094787d72f38102089f402a.tar.gz
BASELINE: Update Chromium to 76.0.3809.94
Change-Id: I321c3f5f929c105aec0f98c5091ef6108822e647 Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/net/socket/websocket_transport_client_socket_pool.cc')
-rw-r--r--chromium/net/socket/websocket_transport_client_socket_pool.cc29
1 files changed, 17 insertions, 12 deletions
diff --git a/chromium/net/socket/websocket_transport_client_socket_pool.cc b/chromium/net/socket/websocket_transport_client_socket_pool.cc
index 7fa0c762fad..820288f6c66 100644
--- a/chromium/net/socket/websocket_transport_client_socket_pool.cc
+++ b/chromium/net/socket/websocket_transport_client_socket_pool.cc
@@ -23,14 +23,17 @@
#include "net/socket/connect_job.h"
#include "net/socket/websocket_endpoint_lock_manager.h"
#include "net/socket/websocket_transport_connect_job.h"
+#include "net/traffic_annotation/network_traffic_annotation.h"
namespace net {
WebSocketTransportClientSocketPool::WebSocketTransportClientSocketPool(
int max_sockets,
int max_sockets_per_group,
+ const ProxyServer& proxy_server,
const CommonConnectJobParams* common_connect_job_params)
- : common_connect_job_params_(common_connect_job_params),
+ : proxy_server_(proxy_server),
+ common_connect_job_params_(common_connect_job_params),
max_sockets_(max_sockets),
handed_out_socket_count_(0),
flushing_(false),
@@ -61,6 +64,7 @@ void WebSocketTransportClientSocketPool::UnlockEndpoint(
int WebSocketTransportClientSocketPool::RequestSocket(
const GroupId& group_id,
scoped_refptr<SocketParams> params,
+ const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
RequestPriority priority,
const SocketTag& socket_tag,
RespectLimits respect_limits,
@@ -79,8 +83,8 @@ int WebSocketTransportClientSocketPool::RequestSocket(
if (ReachedMaxSocketsLimit() &&
respect_limits == ClientSocketPool::RespectLimits::ENABLED) {
request_net_log.AddEvent(NetLogEventType::SOCKET_POOL_STALLED_MAX_SOCKETS);
- stalled_request_queue_.emplace_back(group_id, params, priority, handle,
- std::move(callback),
+ stalled_request_queue_.emplace_back(group_id, params, proxy_annotation_tag,
+ priority, handle, std::move(callback),
proxy_auth_callback, request_net_log);
auto iterator = stalled_request_queue_.end();
--iterator;
@@ -99,14 +103,10 @@ int WebSocketTransportClientSocketPool::RequestSocket(
std::make_unique<ConnectJobDelegate>(this, std::move(callback), handle,
request_net_log);
- // For WebSockets, only the main socket pool uses a
- // WebSocketTransportClientSocketPool, so there's no need to pass in any
- // nested socket pools for the proxy case, which use standard proxy socket
- // pool types on top of a standard TransportClientSocketPool.
std::unique_ptr<ConnectJob> connect_job =
- params->create_connect_job_callback().Run(priority, SocketTag(),
- common_connect_job_params_,
- connect_job_delegate.get());
+ CreateConnectJob(group_id, params, proxy_server_, proxy_annotation_tag,
+ true /* is_for_websockets */, common_connect_job_params_,
+ priority, SocketTag(), connect_job_delegate.get());
int result = connect_job_delegate->Connect(std::move(connect_job));
@@ -131,6 +131,7 @@ int WebSocketTransportClientSocketPool::RequestSocket(
void WebSocketTransportClientSocketPool::RequestSockets(
const GroupId& group_id,
scoped_refptr<SocketParams> params,
+ const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
int num_sockets,
const NetLogWithSource& net_log) {
NOTIMPLEMENTED();
@@ -150,7 +151,8 @@ void WebSocketTransportClientSocketPool::SetPriority(const GroupId& group_id,
void WebSocketTransportClientSocketPool::CancelRequest(
const GroupId& group_id,
- ClientSocketHandle* handle) {
+ ClientSocketHandle* handle,
+ bool cancel_connect_job) {
DCHECK(!handle->is_initialized());
if (DeleteStalledRequest(handle))
return;
@@ -423,7 +425,8 @@ void WebSocketTransportClientSocketPool::ActivateStalledRequest() {
base::AdaptCallbackForRepeating(std::move(request.callback));
int rv = RequestSocket(
- request.group_id, request.params, request.priority, SocketTag(),
+ request.group_id, request.params, request.proxy_annotation_tag,
+ request.priority, SocketTag(),
// Stalled requests can't have |respect_limits|
// DISABLED.
RespectLimits::ENABLED, request.handle, copyable_callback,
@@ -490,6 +493,7 @@ WebSocketTransportClientSocketPool::ConnectJobDelegate::connect_job_net_log() {
WebSocketTransportClientSocketPool::StalledRequest::StalledRequest(
const GroupId& group_id,
const scoped_refptr<SocketParams>& params,
+ const base::Optional<NetworkTrafficAnnotationTag>& proxy_annotation_tag,
RequestPriority priority,
ClientSocketHandle* handle,
CompletionOnceCallback callback,
@@ -497,6 +501,7 @@ WebSocketTransportClientSocketPool::StalledRequest::StalledRequest(
const NetLogWithSource& net_log)
: group_id(group_id),
params(params),
+ proxy_annotation_tag(proxy_annotation_tag),
priority(priority),
handle(handle),
callback(std::move(callback)),