| 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 a10373a34071deac27865d68de00db8edddad790..8aab42d4bcf31953c950703cfa7324f5dd8ccef4 100644
|
| --- a/net/quic/quic_chromium_client_session.cc
|
| +++ b/net/quic/quic_chromium_client_session.cc
|
| @@ -737,6 +737,16 @@ void QuicChromiumClientSession::OnClosedStream() {
|
| }
|
| }
|
|
|
| +void QuicChromiumClientSession::OnConfigNegotiated() {
|
| + QuicClientSessionBase::OnConfigNegotiated();
|
| + if (stream_factory_ && config()->HasReceivedAlternateServerAddress()) {
|
| + // Server has sent an alternate address to connect to.
|
| + stream_factory_->MigrateSessionToNewSocket(
|
| + this, config()->ReceivedAlternateServerAddress(),
|
| + NetworkChangeNotifier::kInvalidNetworkHandle, net_log_, nullptr);
|
| + }
|
| +}
|
| +
|
| void QuicChromiumClientSession::OnCryptoHandshakeEvent(
|
| CryptoHandshakeEvent event) {
|
| if (stream_factory_ && event == HANDSHAKE_CONFIRMED &&
|
|
|