Index: net/quic/quic_chromium_client_session.cc |
diff --git a/net/quic/quic_chromium_client_session.cc b/net/quic/quic_chromium_client_session.cc |
index f18ff5bce303fa4c86e59d0c744605778d1c8a62..a5769e9faffd36f7835b39f3382d874e55c5447e 100644 |
--- a/net/quic/quic_chromium_client_session.cc |
+++ b/net/quic/quic_chromium_client_session.cc |
@@ -737,6 +737,15 @@ void QuicChromiumClientSession::OnClosedStream() { |
} |
} |
+void QuicChromiumClientSession::OnConfigNegotiated() { |
+ QuicClientSessionBase::OnConfigNegotiated(); |
+ if (stream_factory_ && config()->HasReceivedAlternateServerAddress()) { |
+ // Server has sent an alternate address to connect to. |
+ stream_factory_->MigrateSessionToNewPeerAddress( |
+ this, config()->ReceivedAlternateServerAddress(), net_log_); |
+ } |
+} |
+ |
void QuicChromiumClientSession::OnCryptoHandshakeEvent( |
CryptoHandshakeEvent event) { |
if (stream_factory_ && event == HANDSHAKE_CONFIRMED && |