diff --git a/quiche/quic/core/chlo_extractor.cc b/quiche/quic/core/chlo_extractor.cc
index b2b4acc..ecea024 100644
--- a/quiche/quic/core/chlo_extractor.cc
+++ b/quiche/quic/core/chlo_extractor.cc
@@ -60,7 +60,7 @@
   bool OnAckTimestamp(QuicPacketNumber packet_number,
                       QuicTime timestamp) override;
   bool OnAckFrameEnd(QuicPacketNumber start,
-                     absl::optional<QuicEcnCounts>& ecn_counts) override;
+                     const absl::optional<QuicEcnCounts>& ecn_counts) override;
   bool OnStopWaitingFrame(const QuicStopWaitingFrame& frame) override;
   bool OnPingFrame(const QuicPingFrame& frame) override;
   bool OnRstStreamFrame(const QuicRstStreamFrame& frame) override;
@@ -221,7 +221,8 @@
 }
 
 bool ChloFramerVisitor::OnAckFrameEnd(
-    QuicPacketNumber /*start*/, absl::optional<QuicEcnCounts>& /*ecn_counts*/) {
+    QuicPacketNumber /*start*/,
+    const absl::optional<QuicEcnCounts>& /*ecn_counts*/) {
   return true;
 }
 
diff --git a/quiche/quic/core/quic_connection.cc b/quiche/quic/core/quic_connection.cc
index 099b65a..679c6be 100644
--- a/quiche/quic/core/quic_connection.cc
+++ b/quiche/quic/core/quic_connection.cc
@@ -1519,8 +1519,8 @@
   return true;
 }
 
-bool QuicConnection::OnAckFrameEnd(QuicPacketNumber start,
-                                   absl::optional<QuicEcnCounts>& ecn_counts) {
+bool QuicConnection::OnAckFrameEnd(
+    QuicPacketNumber start, const absl::optional<QuicEcnCounts>& ecn_counts) {
   QUIC_BUG_IF(quic_bug_12714_7, !connected_)
       << "Processing ACK frame end when connection is closed. Received packet "
          "info: "
diff --git a/quiche/quic/core/quic_connection.h b/quiche/quic/core/quic_connection.h
index 2042727..a20c502 100644
--- a/quiche/quic/core/quic_connection.h
+++ b/quiche/quic/core/quic_connection.h
@@ -679,7 +679,7 @@
   bool OnAckTimestamp(QuicPacketNumber packet_number,
                       QuicTime timestamp) override;
   bool OnAckFrameEnd(QuicPacketNumber start,
-                     absl::optional<QuicEcnCounts>& ecn_counts) override;
+                     const absl::optional<QuicEcnCounts>& ecn_counts) override;
   bool OnStopWaitingFrame(const QuicStopWaitingFrame& frame) override;
   bool OnPaddingFrame(const QuicPaddingFrame& frame) override;
   bool OnPingFrame(const QuicPingFrame& frame) override;
diff --git a/quiche/quic/core/quic_framer.h b/quiche/quic/core/quic_framer.h
index 011570a..349b80f 100644
--- a/quiche/quic/core/quic_framer.h
+++ b/quiche/quic/core/quic_framer.h
@@ -167,8 +167,9 @@
   // Called after the last ack range in an AckFrame has been parsed.
   // |start| is the starting value of the last ack range. |ecn_counts| are
   // the reported ECN counts in the ack frame, if present.
-  virtual bool OnAckFrameEnd(QuicPacketNumber start,
-                             absl::optional<QuicEcnCounts>& ecn_counts) = 0;
+  virtual bool OnAckFrameEnd(
+      QuicPacketNumber start,
+      const absl::optional<QuicEcnCounts>& ecn_counts) = 0;
 
   // Called when a StopWaitingFrame has been parsed.
   virtual bool OnStopWaitingFrame(const QuicStopWaitingFrame& frame) = 0;
diff --git a/quiche/quic/core/quic_framer_test.cc b/quiche/quic/core/quic_framer_test.cc
index b6d9de6..7efaebe 100644
--- a/quiche/quic/core/quic_framer_test.cc
+++ b/quiche/quic/core/quic_framer_test.cc
@@ -397,8 +397,9 @@
     return true;
   }
 
-  bool OnAckFrameEnd(QuicPacketNumber /*start*/,
-                     absl::optional<QuicEcnCounts>& /*ecn_counts*/) override {
+  bool OnAckFrameEnd(
+      QuicPacketNumber /*start*/,
+      const absl::optional<QuicEcnCounts>& /*ecn_counts*/) override {
     return true;
   }
 
diff --git a/quiche/quic/core/tls_chlo_extractor.h b/quiche/quic/core/tls_chlo_extractor.h
index 217adc4..d8c6b55 100644
--- a/quiche/quic/core/tls_chlo_extractor.h
+++ b/quiche/quic/core/tls_chlo_extractor.h
@@ -112,8 +112,9 @@
                       QuicTime /*timestamp*/) override {
     return true;
   }
-  bool OnAckFrameEnd(QuicPacketNumber /*start*/,
-                     absl::optional<QuicEcnCounts>& /*ecn_counts*/) override {
+  bool OnAckFrameEnd(
+      QuicPacketNumber /*start*/,
+      const absl::optional<QuicEcnCounts>& /*ecn_counts*/) override {
     return true;
   }
   bool OnStopWaitingFrame(const QuicStopWaitingFrame& /*frame*/) override {
diff --git a/quiche/quic/test_tools/quic_test_utils.cc b/quiche/quic/test_tools/quic_test_utils.cc
index a90c9ae..f92760f 100644
--- a/quiche/quic/test_tools/quic_test_utils.cc
+++ b/quiche/quic/test_tools/quic_test_utils.cc
@@ -349,7 +349,8 @@
 }
 
 bool NoOpFramerVisitor::OnAckFrameEnd(
-    QuicPacketNumber /*start*/, absl::optional<QuicEcnCounts>& /*ecn_counts*/) {
+    QuicPacketNumber /*start*/,
+    const absl::optional<QuicEcnCounts>& /*ecn_counts*/) {
   return true;
 }
 
diff --git a/quiche/quic/test_tools/quic_test_utils.h b/quiche/quic/test_tools/quic_test_utils.h
index 426ccc5..6d7e395 100644
--- a/quiche/quic/test_tools/quic_test_utils.h
+++ b/quiche/quic/test_tools/quic_test_utils.h
@@ -312,7 +312,8 @@
               (override));
   MOCK_METHOD(bool, OnAckTimestamp, (QuicPacketNumber, QuicTime), (override));
   MOCK_METHOD(bool, OnAckFrameEnd,
-              (QuicPacketNumber, absl::optional<QuicEcnCounts>&), (override));
+              (QuicPacketNumber, const absl::optional<QuicEcnCounts>&),
+              (override));
   MOCK_METHOD(bool, OnStopWaitingFrame, (const QuicStopWaitingFrame& frame),
               (override));
   MOCK_METHOD(bool, OnPaddingFrame, (const QuicPaddingFrame& frame),
@@ -396,7 +397,7 @@
   bool OnAckTimestamp(QuicPacketNumber packet_number,
                       QuicTime timestamp) override;
   bool OnAckFrameEnd(QuicPacketNumber start,
-                     absl::optional<QuicEcnCounts>& ecn_counts) override;
+                     const absl::optional<QuicEcnCounts>& ecn_counts) override;
   bool OnStopWaitingFrame(const QuicStopWaitingFrame& frame) override;
   bool OnPaddingFrame(const QuicPaddingFrame& frame) override;
   bool OnPingFrame(const QuicPingFrame& frame) override;
diff --git a/quiche/quic/test_tools/simple_quic_framer.cc b/quiche/quic/test_tools/simple_quic_framer.cc
index 33d26bc..33a56ef 100644
--- a/quiche/quic/test_tools/simple_quic_framer.cc
+++ b/quiche/quic/test_tools/simple_quic_framer.cc
@@ -112,8 +112,9 @@
     return true;
   }
 
-  bool OnAckFrameEnd(QuicPacketNumber /*start*/,
-                     absl::optional<QuicEcnCounts>& /*ecn_counts*/) override {
+  bool OnAckFrameEnd(
+      QuicPacketNumber /*start*/,
+      const absl::optional<QuicEcnCounts>& /*ecn_counts*/) override {
     return true;
   }
 
diff --git a/quiche/quic/tools/quic_packet_printer_bin.cc b/quiche/quic/tools/quic_packet_printer_bin.cc
index 04d7e48..92a3c4c 100644
--- a/quiche/quic/tools/quic_packet_printer_bin.cc
+++ b/quiche/quic/tools/quic_packet_printer_bin.cc
@@ -129,7 +129,7 @@
     return true;
   }
   bool OnAckFrameEnd(QuicPacketNumber start,
-                     absl::optional<QuicEcnCounts>& ecn_counts) override {
+                     const absl::optional<QuicEcnCounts>& ecn_counts) override {
     std::cerr << "OnAckFrameEnd, start: " << start;
     if (ecn_counts.has_value()) {
       std::cerr << "  ECN counts: " << ecn_counts->ToString();
