gfe-relnote: In QUIC, notify frame acked when discarding initial key. Protected by gfe2_reloadable_flag_quic_neuter_unencrypted_control_frames.

This is enabled when using TLS handshake.

PiperOrigin-RevId: 293194952
Change-Id: I5850ee7b56351b494465ba639c481996239ff3df
diff --git a/quic/core/quic_unacked_packet_map.cc b/quic/core/quic_unacked_packet_map.cc
index ef08535..c80593f 100644
--- a/quic/core/quic_unacked_packet_map.cc
+++ b/quic/core/quic_unacked_packet_map.cc
@@ -218,6 +218,16 @@
       // it from in flight.
       RemoveFromInFlight(packet_number);
       it->state = NEUTERED;
+      if (GetQuicReloadableFlag(quic_neuter_unencrypted_control_frames) ||
+          supports_multiple_packet_number_spaces_) {
+        if (GetQuicReloadableFlag(quic_neuter_unencrypted_control_frames)) {
+          QUIC_RELOADABLE_FLAG_COUNT(quic_neuter_unencrypted_control_frames);
+        }
+        // Notify session that the data has been delivered (but do not notify
+        // send algorithm).
+        // TODO(b/148868195): use NotifyFramesNeutered.
+        NotifyFramesAcked(*it, QuicTime::Delta::Zero(), QuicTime::Zero());
+      }
       DCHECK(!HasRetransmittableFrames(*it));
     }
   }
@@ -236,6 +246,7 @@
       // Notify session that the data has been delivered (but do not notify
       // send algorithm).
       it->state = NEUTERED;
+      // TODO(b/148868195): use NotifyFramesNeutered.
       NotifyFramesAcked(*it, QuicTime::Delta::Zero(), QuicTime::Zero());
     }
   }