Always support SPAD on the client side.

Unhide the feature from connection option SPAD and QUICHE flag quic_always_support_server_preferred_address.

PiperOrigin-RevId: 685877821
diff --git a/quiche/quic/core/quic_config.cc b/quiche/quic/core/quic_config.cc
index 47027c5..6e3f8d4 100644
--- a/quiche/quic/core/quic_config.cc
+++ b/quiche/quic/core/quic_config.cc
@@ -1484,7 +1484,8 @@
 }
 
 bool QuicConfig::SupportsServerPreferredAddress(Perspective perspective) const {
-  return HasClientSentConnectionOption(kSPAD, perspective) ||
+  return perspective == Perspective::IS_CLIENT ||
+         HasClientSentConnectionOption(kSPAD, perspective) ||
          GetQuicFlag(quic_always_support_server_preferred_address);
 }
 
diff --git a/quiche/quic/core/quic_config_test.cc b/quiche/quic/core/quic_config_test.cc
index c706285..a157eaa 100644
--- a/quiche/quic/core/quic_config_test.cc
+++ b/quiche/quic/core/quic_config_test.cc
@@ -609,7 +609,7 @@
   EXPECT_TRUE(config_.SupportsServerPreferredAddress(Perspective::IS_SERVER));
 
   SetQuicFlag(quic_always_support_server_preferred_address, false);
-  EXPECT_FALSE(config_.SupportsServerPreferredAddress(Perspective::IS_CLIENT));
+  EXPECT_TRUE(config_.SupportsServerPreferredAddress(Perspective::IS_CLIENT));
   EXPECT_FALSE(config_.SupportsServerPreferredAddress(Perspective::IS_SERVER));
 
   QuicTagVector copt;
diff --git a/quiche/quic/core/quic_connection_test.cc b/quiche/quic/core/quic_connection_test.cc
index 506acf5..c6e63d9 100644
--- a/quiche/quic/core/quic_connection_test.cc
+++ b/quiche/quic/core/quic_connection_test.cc
@@ -1511,7 +1511,6 @@
     connection_.RemoveEncrypter(ENCRYPTION_INITIAL);
     connection_.SetDefaultEncryptionLevel(ENCRYPTION_FORWARD_SECURE);
 
-    config.SetConnectionOptionsToSend(QuicTagVector{kSPAD});
     QuicConfigPeer::SetReceivedStatelessResetToken(&config,
                                                    kTestStatelessResetToken);
     QuicConfigPeer::SetReceivedAlternateServerAddress(&config,
@@ -3136,7 +3135,6 @@
   connection_.SetDefaultEncryptionLevel(ENCRYPTION_FORWARD_SECURE);
 
   QuicConfig config;
-  config.SetConnectionOptionsToSend(QuicTagVector{kSPAD});
   QuicConfigPeer::SetReceivedStatelessResetToken(&config,
                                                  kTestStatelessResetToken);
   QuicConfigPeer::SetReceivedAlternateServerAddress(&config,