Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1346)

Unified Diff: net/quic/chromium/quic_stream_factory.cc

Issue 2442633002: Add a QUIC proxy server to the list of QUIC servers supported at start up (Closed)
Patch Set: Rebased, Addressed ryansturm comments Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/quic/chromium/quic_stream_factory.cc
diff --git a/net/quic/chromium/quic_stream_factory.cc b/net/quic/chromium/quic_stream_factory.cc
index 81c8d664b89e85aebd6b36383fe239af33377774..2dd78091c0ca1ce2ee776e69cb1b2d2faf5a4117 100644
--- a/net/quic/chromium/quic_stream_factory.cc
+++ b/net/quic/chromium/quic_stream_factory.cc
@@ -24,6 +24,7 @@
#include "crypto/openssl_util.h"
#include "net/base/ip_address.h"
#include "net/base/net_errors.h"
+#include "net/base/proxy_delegate.h"
#include "net/cert/cert_verifier.h"
#include "net/cert/ct_verifier.h"
#include "net/dns/host_resolver.h"
@@ -703,6 +704,7 @@ QuicStreamFactory::QuicStreamFactory(
SSLConfigService* ssl_config_service,
ClientSocketFactory* client_socket_factory,
HttpServerProperties* http_server_properties,
+ ProxyDelegate* proxy_delegate,
CertVerifier* cert_verifier,
CTPolicyEnforcer* ct_policy_enforcer,
ChannelIDService* channel_id_service,
@@ -744,6 +746,7 @@ QuicStreamFactory::QuicStreamFactory(
host_resolver_(host_resolver),
client_socket_factory_(client_socket_factory),
http_server_properties_(http_server_properties),
+ proxy_delegate_(proxy_delegate),
transport_security_state_(transport_security_state),
cert_transparency_verifier_(cert_transparency_verifier),
quic_crypto_client_stream_factory_(quic_crypto_client_stream_factory),
@@ -1816,6 +1819,19 @@ void QuicStreamFactory::MaybeInitialize() {
return;
has_initialized_data_ = true;
+
+ // Query the proxy delegate, and add the proxy server that supports QUIC.
+ ProxyServer quic_supported_proxy_server =
+ proxy_delegate_ ? proxy_delegate_->GetQuicSupportedProxyServerAtStartUp()
+ : ProxyServer();
+ DCHECK(!quic_supported_proxy_server.is_valid() ||
+ quic_supported_proxy_server.is_quic());
+ if (quic_supported_proxy_server.is_quic()) {
+ quic_supported_servers_at_startup_.insert(
+ proxy_delegate_->GetQuicSupportedProxyServerAtStartUp()
+ .host_port_pair());
+ }
+
for (const std::pair<const url::SchemeHostPort, AlternativeServiceInfoVector>&
key_value : http_server_properties_->alternative_service_map()) {
HostPortPair host_port_pair(key_value.first.host(), key_value.first.port());

Powered by Google App Engine
This is Rietveld 408576698