gfe-relnote: Add methods to QuicConnectionDebugVisitorInterface for missing IETF QUIC frames. QUIC v99 only. Protected by disabled QUIC v99 flag.

PiperOrigin-RevId: 267080985
Change-Id: I834e0d52d9f59b176b71fa45dbe65845c7e60673
diff --git a/quic/core/quic_connection.cc b/quic/core/quic_connection.cc
index 257ef29..269fe7f 100644
--- a/quic/core/quic_connection.cc
+++ b/quic/core/quic_connection.cc
@@ -896,6 +896,9 @@
   // A probe only contains a PING and full padding.
   UpdatePacketContent(NOT_PADDED_PING);
 
+  if (debug_visitor_ != nullptr) {
+    debug_visitor_->OnCryptoFrame(frame);
+  }
   visitor_->OnCryptoFrame(frame);
   should_last_packet_instigate_acks_ = true;
   return connected_;
@@ -1145,6 +1148,9 @@
 }
 
 bool QuicConnection::OnPathChallengeFrame(const QuicPathChallengeFrame& frame) {
+  if (debug_visitor_ != nullptr) {
+    debug_visitor_->OnPathChallengeFrame(frame);
+  }
   // Save the path challenge's payload, for later use in generating the
   // response.
   received_path_challenge_payloads_.push_back(frame.data_buffer);
@@ -1161,6 +1167,9 @@
 }
 
 bool QuicConnection::OnPathResponseFrame(const QuicPathResponseFrame& frame) {
+  if (debug_visitor_ != nullptr) {
+    debug_visitor_->OnPathResponseFrame(frame);
+  }
   should_last_packet_instigate_acks_ = true;
   if (!transmitted_connectivity_probe_payload_ ||
       *transmitted_connectivity_probe_payload_ != frame.data_buffer) {
@@ -1269,16 +1278,25 @@
 }
 
 bool QuicConnection::OnNewConnectionIdFrame(
-    const QuicNewConnectionIdFrame& /*frame*/) {
+    const QuicNewConnectionIdFrame& frame) {
+  if (debug_visitor_ != nullptr) {
+    debug_visitor_->OnNewConnectionIdFrame(frame);
+  }
   return true;
 }
 
 bool QuicConnection::OnRetireConnectionIdFrame(
-    const QuicRetireConnectionIdFrame& /*frame*/) {
+    const QuicRetireConnectionIdFrame& frame) {
+  if (debug_visitor_ != nullptr) {
+    debug_visitor_->OnRetireConnectionIdFrame(frame);
+  }
   return true;
 }
 
-bool QuicConnection::OnNewTokenFrame(const QuicNewTokenFrame& /*frame*/) {
+bool QuicConnection::OnNewTokenFrame(const QuicNewTokenFrame& frame) {
+  if (debug_visitor_ != nullptr) {
+    debug_visitor_->OnNewTokenFrame(frame);
+  }
   return true;
 }
 
diff --git a/quic/core/quic_connection.h b/quic/core/quic_connection.h
index 6a5062a..e214a99 100644
--- a/quic/core/quic_connection.h
+++ b/quic/core/quic_connection.h
@@ -241,6 +241,9 @@
   // Called when a StreamFrame has been parsed.
   virtual void OnStreamFrame(const QuicStreamFrame& /*frame*/) {}
 
+  // Called when a CRYPTO frame containing handshake data is received.
+  virtual void OnCryptoFrame(const QuicCryptoFrame& /*frame*/) {}
+
   // Called when a StopWaitingFrame has been parsed.
   virtual void OnStopWaitingFrame(const QuicStopWaitingFrame& /*frame*/) {}
 
@@ -269,6 +272,17 @@
   // Called when a BlockedFrame has been parsed.
   virtual void OnBlockedFrame(const QuicBlockedFrame& /*frame*/) {}
 
+  // Called when a NewConnectionIdFrame has been parsed.
+  virtual void OnNewConnectionIdFrame(
+      const QuicNewConnectionIdFrame& /*frame*/) {}
+
+  // Called when a RetireConnectionIdFrame has been parsed.
+  virtual void OnRetireConnectionIdFrame(
+      const QuicRetireConnectionIdFrame& /*frame*/) {}
+
+  // Called when a NewTokenFrame has been parsed.
+  virtual void OnNewTokenFrame(const QuicNewTokenFrame& /*frame*/) {}
+
   // Called when a MessageFrame has been parsed.
   virtual void OnMessageFrame(const QuicMessageFrame& /*frame*/) {}
 
@@ -305,6 +319,12 @@
 
   // Called when a StopSendingFrame has been parsed.
   virtual void OnStopSendingFrame(const QuicStopSendingFrame& /*frame*/) {}
+
+  // Called when a PathChallengeFrame has been parsed.
+  virtual void OnPathChallengeFrame(const QuicPathChallengeFrame& /*frame*/) {}
+
+  // Called when a PathResponseFrame has been parsed.
+  virtual void OnPathResponseFrame(const QuicPathResponseFrame& /*frame*/) {}
 };
 
 class QUIC_EXPORT_PRIVATE QuicConnectionHelperInterface {
diff --git a/quic/test_tools/quic_test_utils.h b/quic/test_tools/quic_test_utils.h
index 5750b9b..b3b6a68 100644
--- a/quic/test_tools/quic_test_utils.h
+++ b/quic/test_tools/quic_test_utils.h
@@ -1013,12 +1013,25 @@
 
   MOCK_METHOD1(OnStreamFrame, void(const QuicStreamFrame&));
 
+  MOCK_METHOD1(OnCryptoFrame, void(const QuicCryptoFrame&));
+
   MOCK_METHOD1(OnStopWaitingFrame, void(const QuicStopWaitingFrame&));
 
   MOCK_METHOD1(OnRstStreamFrame, void(const QuicRstStreamFrame&));
 
   MOCK_METHOD1(OnConnectionCloseFrame, void(const QuicConnectionCloseFrame&));
 
+  MOCK_METHOD1(OnBlockedFrame, void(const QuicBlockedFrame&));
+
+  MOCK_METHOD1(OnNewConnectionIdFrame, void(const QuicNewConnectionIdFrame&));
+
+  MOCK_METHOD1(OnRetireConnectionIdFrame,
+               void(const QuicRetireConnectionIdFrame&));
+
+  MOCK_METHOD1(OnNewTokenFrame, void(const QuicNewTokenFrame&));
+
+  MOCK_METHOD1(OnMessageFrame, void(const QuicMessageFrame&));
+
   MOCK_METHOD1(OnStopSendingFrame, void(const QuicStopSendingFrame&));
 
   MOCK_METHOD1(OnPathChallengeFrame, void(const QuicPathChallengeFrame&));