Pass PATH_CHALLENGE payload to QuicPacketCreator::SendPathChallenge() instead of getting it populated by this interface.

This changes the behavior in the old implementation of IETF connection migration. But it is not used in production.

PiperOrigin-RevId: 342098354
Change-Id: I8b719738184c49907e313d53bee0281546ca0fae
diff --git a/quic/core/quic_packet_creator.cc b/quic/core/quic_packet_creator.cc
index 3db37ed..087b427 100644
--- a/quic/core/quic_packet_creator.cc
+++ b/quic/core/quic_packet_creator.cc
@@ -875,7 +875,7 @@
 
 std::unique_ptr<SerializedPacket>
 QuicPacketCreator::SerializePathChallengeConnectivityProbingPacket(
-    QuicPathFrameBuffer* payload) {
+    const QuicPathFrameBuffer& payload) {
   QUIC_BUG_IF(!VersionHasIetfQuicFrames(framer_->transport_version()))
       << "Must be version 99 to serialize path challenge connectivity probe, "
          "is version "
@@ -888,9 +888,9 @@
   QUIC_DVLOG(2) << ENDPOINT << "Serializing path challenge packet " << header;
 
   std::unique_ptr<char[]> buffer(new char[kMaxOutgoingPacketSize]);
-  size_t length = BuildPaddedPathChallengePacket(
-      header, buffer.get(), max_plaintext_size_, payload, random_,
-      packet_.encryption_level);
+  size_t length =
+      BuildPaddedPathChallengePacket(header, buffer.get(), max_plaintext_size_,
+                                     payload, packet_.encryption_level);
   DCHECK(length);
 
   DCHECK_EQ(packet_.encryption_level, ENCRYPTION_FORWARD_SECURE);
@@ -960,15 +960,13 @@
     const QuicPacketHeader& header,
     char* buffer,
     size_t packet_length,
-    QuicPathFrameBuffer* payload,
-    QuicRandom* randomizer,
+    const QuicPathFrameBuffer& payload,
     EncryptionLevel level) {
   DCHECK(VersionHasIetfQuicFrames(framer_->transport_version()));
   QuicFrames frames;
 
   // Write a PATH_CHALLENGE frame, which has a random 8-byte payload
-  randomizer->RandBytes(payload->data(), payload->size());
-  QuicPathChallengeFrame path_challenge_frame(0, *payload);
+  QuicPathChallengeFrame path_challenge_frame(0, payload);
   frames.push_back(QuicFrame(&path_challenge_frame));
 
   if (debug_delegate_ != nullptr) {
@@ -2008,10 +2006,10 @@
   packet_.encryption_level = level;
 }
 
-void QuicPacketCreator::AddPathChallengeFrame(QuicPathFrameBuffer* payload) {
+void QuicPacketCreator::AddPathChallengeFrame(
+    const QuicPathFrameBuffer& payload) {
   // Write a PATH_CHALLENGE frame, which has a random 8-byte payload.
-  random_->RandBytes(payload->data(), payload->size());
-  auto path_challenge_frame = new QuicPathChallengeFrame(0, *payload);
+  auto path_challenge_frame = new QuicPathChallengeFrame(0, payload);
   QuicFrame frame(path_challenge_frame);
   if (AddPaddedFrameWithRetry(frame)) {
     return;