Chromium Code Reviews| 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 92142539476a55b75fb35c3c28a7b88182369018..51a2c6a311760f25eed5037350306941d32c2733 100644 |
| --- a/net/quic/chromium/quic_stream_factory.cc |
| +++ b/net/quic/chromium/quic_stream_factory.cc |
| @@ -25,6 +25,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" |
| @@ -704,6 +705,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, |
| @@ -745,6 +747,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), |
| @@ -1821,6 +1824,15 @@ void QuicStreamFactory::MaybeInitialize() { |
| return; |
| has_initialized_data_ = true; |
| + |
| + // Query the proxy delegate, and add the proxy server that supports QUIC. |
| + if (proxy_delegate_ && |
| + proxy_delegate_->GetQuicSupportedProxyServerAtStartUp().is_quic()) { |
|
RyanSturm
2016/10/21 22:35:10
Can you only call GetQuicSupportedServerAtStartUp
|
| + 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()); |