Use connection's encryption level at QuicCryptoStream::OnCryptoFrame().

gfe-relnote: Protected by gfe2_reloadable_flag_quic_use_connection_encryption_level
PiperOrigin-RevId: 278414910
Change-Id: I7dacecdcbaa56ac91015dd3066529c8ad10291e9
diff --git a/quic/core/quic_crypto_stream.cc b/quic/core/quic_crypto_stream.cc
index d62417f..e22e830 100644
--- a/quic/core/quic_crypto_stream.cc
+++ b/quic/core/quic_crypto_stream.cc
@@ -72,8 +72,15 @@
       << "Versions less than 47 shouldn't receive CRYPTO frames";
   EncryptionLevel level = session()->connection()->last_decrypted_level();
   substreams_[level].sequencer.OnCryptoFrame(frame);
+  EncryptionLevel frame_level;
+  if (GetQuicReloadableFlag(quic_use_connection_encryption_level)) {
+    QUIC_RELOADABLE_FLAG_COUNT(quic_use_connection_encryption_level);
+    frame_level = level;
+  } else {
+    frame_level = frame.level;
+  }
   if (substreams_[level].sequencer.NumBytesBuffered() >
-      BufferSizeLimitForLevel(frame.level)) {
+      BufferSizeLimitForLevel(frame_level)) {
     CloseConnectionWithDetails(QUIC_FLOW_CONTROL_RECEIVED_TOO_MUCH_DATA,
                                "Too much crypto data received");
   }