Refactor how TLS versions get enabled

This brings it closer in line to how QUIC_VERSION_99 is handled and sets up the
flag to be switched to a reloadable flag (blocked on being enabled). In particular,
AllSupportedVersions() now returns versions that include PROTOCOL_TLS1_3 for the
handshake_protocol.

When a TLS version is in use, it is safe to assume that
ParsedQuicVersion::KnowsWhichDecrypterToUse always returns true. This is because
KnowsWhichDecrypterToUse is enabled for QUIC_VERSION_47 and above, while TLS versions
only exist when CRYPTO frames are in use, which is currently only transport version 99.

gfe-relnote: refactor of TLS version code; protected by quic_supports_tls_handshake
PiperOrigin-RevId: 250599516
Change-Id: Ibfe68d74089ce29edeee219671c81e1643702000
diff --git a/quic/core/quic_framer_test.cc b/quic/core/quic_framer_test.cc
index 22ffe4f..048cf95 100644
--- a/quic/core/quic_framer_test.cc
+++ b/quic/core/quic_framer_test.cc
@@ -441,12 +441,6 @@
 
 using PacketFragments = std::vector<struct PacketFragment>;
 
-ParsedQuicVersionVector AllSupportedVersionsIncludingTls() {
-  QuicFlagSaver flags;
-  SetQuicFlag(FLAGS_quic_supports_tls_handshake, true);
-  return AllSupportedVersions();
-}
-
 class QuicFramerTest : public QuicTestWithParam<ParsedQuicVersion> {
  public:
   QuicFramerTest()
@@ -454,7 +448,7 @@
         decrypter_(new test::TestDecrypter()),
         version_(GetParam()),
         start_(QuicTime::Zero() + QuicTime::Delta::FromMicroseconds(0x10)),
-        framer_(AllSupportedVersionsIncludingTls(),
+        framer_(AllSupportedVersions(),
                 start_,
                 Perspective::IS_SERVER,
                 kQuicDefaultConnectionIdLength) {
@@ -701,10 +695,9 @@
       GetQuicVersionDigitOnes()
 
 // Run all framer tests with all supported versions of QUIC.
-INSTANTIATE_TEST_SUITE_P(
-    QuicFramerTests,
-    QuicFramerTest,
-    ::testing::ValuesIn(AllSupportedVersionsIncludingTls()));
+INSTANTIATE_TEST_SUITE_P(QuicFramerTests,
+                         QuicFramerTest,
+                         ::testing::ValuesIn(AllSupportedVersions()));
 
 TEST_P(QuicFramerTest, CalculatePacketNumberFromWireNearEpochStart) {
   // A few quick manual sanity checks.