Index: net/quic/quic_client_session.cc |
diff --git a/net/quic/quic_client_session.cc b/net/quic/quic_client_session.cc |
index 8a41c6a4b75ec73d78e7c70c74f939ed14dd5b0b..2ea94126ba64fc4b6e6511c6a12c3c41d8a7af89 100644 |
--- a/net/quic/quic_client_session.cc |
+++ b/net/quic/quic_client_session.cc |
@@ -186,7 +186,7 @@ void QuicClientSession::InitializeSession( |
const QuicServerId& server_id, |
QuicCryptoClientConfig* crypto_config, |
QuicCryptoClientStreamFactory* crypto_client_stream_factory) { |
- server_host_port_ = server_id.host_port_pair(); |
+ server_id_ = server_id; |
crypto_stream_.reset( |
crypto_client_stream_factory ? |
crypto_client_stream_factory->CreateQuicCryptoClientStream( |
@@ -531,8 +531,13 @@ int QuicClientSession::GetNumSentClientHellos() const { |
return crypto_stream_->num_sent_client_hellos(); |
} |
-bool QuicClientSession::CanPool(const std::string& hostname) const { |
+bool QuicClientSession::CanPool(const std::string& hostname, |
+ PrivacyMode privacy_mode) const { |
DCHECK(connection()->connected()); |
+ if (privacy_mode != server_id_.privacy_mode()) { |
+ // Privacy mode must always match. |
+ return false; |
+ } |
SSLInfo ssl_info; |
if (!GetSSLInfo(&ssl_info) || !ssl_info.cert.get()) { |
// We can always pool with insecure QUIC sessions. |
@@ -540,7 +545,7 @@ bool QuicClientSession::CanPool(const std::string& hostname) const { |
} |
return SpdySession::CanPool(transport_security_state_, ssl_info, |
- server_host_port_.host(), hostname); |
+ server_id_.host(), hostname); |
} |
QuicDataStream* QuicClientSession::CreateIncomingDataStream( |