Move NoopEncoderStreamErrorDelegate from qpack_decoder_test_utils to qpack_decoder.

This migration is a prefactor for using NoopEncoderStreamErrorDelegate in
production code, i.e., Http3MetadataManager.

This CL is analogous to cl/464792267, except that we cannot/should not remove
qpack_decoder_test_utils altogether because at least one test class there
(TestHeadersHandler) is #included in two separate test files. Given that we
cannot remove altogether, this CL does not migrate other classes in
qpack_decoder_test_utils.

PiperOrigin-RevId: 465172685
diff --git a/quiche/quic/core/qpack/qpack_decoded_headers_accumulator_test.cc b/quiche/quic/core/qpack/qpack_decoded_headers_accumulator_test.cc
index b3e54be..e4847c1 100644
--- a/quiche/quic/core/qpack/qpack_decoded_headers_accumulator_test.cc
+++ b/quiche/quic/core/qpack/qpack_decoded_headers_accumulator_test.cc
@@ -10,7 +10,6 @@
 #include "absl/strings/string_view.h"
 #include "quiche/quic/core/qpack/qpack_decoder.h"
 #include "quiche/quic/platform/api/quic_test.h"
-#include "quiche/quic/test_tools/qpack/qpack_decoder_test_utils.h"
 #include "quiche/quic/test_tools/qpack/qpack_test_utils.h"
 
 using ::testing::_;
diff --git a/quiche/quic/core/qpack/qpack_decoder.h b/quiche/quic/core/qpack/qpack_decoder.h
index e063795..9474378 100644
--- a/quiche/quic/core/qpack/qpack_decoder.h
+++ b/quiche/quic/core/qpack/qpack_decoder.h
@@ -122,6 +122,16 @@
   uint64_t known_received_count_;
 };
 
+// QpackDecoder::EncoderStreamErrorDelegate implementation that does nothing.
+class QUIC_EXPORT_PRIVATE NoopEncoderStreamErrorDelegate
+    : public QpackDecoder::EncoderStreamErrorDelegate {
+ public:
+  ~NoopEncoderStreamErrorDelegate() override = default;
+
+  void OnEncoderStreamError(QuicErrorCode /*error_code*/,
+                            absl::string_view /*error_message*/) override {}
+};
+
 }  // namespace quic
 
 #endif  // QUICHE_QUIC_CORE_QPACK_QPACK_DECODER_H_
diff --git a/quiche/quic/core/qpack/qpack_round_trip_test.cc b/quiche/quic/core/qpack/qpack_round_trip_test.cc
index 3c2505a..147c627 100644
--- a/quiche/quic/core/qpack/qpack_round_trip_test.cc
+++ b/quiche/quic/core/qpack/qpack_round_trip_test.cc
@@ -6,6 +6,7 @@
 #include <tuple>
 
 #include "absl/strings/string_view.h"
+#include "quiche/quic/core/qpack/qpack_decoder.h"
 #include "quiche/quic/core/qpack/qpack_encoder.h"
 #include "quiche/quic/platform/api/quic_test.h"
 #include "quiche/quic/test_tools/qpack/qpack_decoder_test_utils.h"
diff --git a/quiche/quic/test_tools/qpack/qpack_decoder_test_utils.cc b/quiche/quic/test_tools/qpack/qpack_decoder_test_utils.cc
index ed94cf5..2b39dcd 100644
--- a/quiche/quic/test_tools/qpack/qpack_decoder_test_utils.cc
+++ b/quiche/quic/test_tools/qpack/qpack_decoder_test_utils.cc
@@ -14,9 +14,6 @@
 namespace quic {
 namespace test {
 
-void NoopEncoderStreamErrorDelegate::OnEncoderStreamError(
-    QuicErrorCode /* error_code */, absl::string_view /*error_message*/) {}
-
 TestHeadersHandler::TestHeadersHandler()
     : decoding_completed_(false), decoding_error_detected_(false) {}
 
diff --git a/quiche/quic/test_tools/qpack/qpack_decoder_test_utils.h b/quiche/quic/test_tools/qpack/qpack_decoder_test_utils.h
index 90da363..f746550 100644
--- a/quiche/quic/test_tools/qpack/qpack_decoder_test_utils.h
+++ b/quiche/quic/test_tools/qpack/qpack_decoder_test_utils.h
@@ -18,16 +18,6 @@
 namespace quic {
 namespace test {
 
-// QpackDecoder::EncoderStreamErrorDelegate implementation that does nothing.
-class NoopEncoderStreamErrorDelegate
-    : public QpackDecoder::EncoderStreamErrorDelegate {
- public:
-  ~NoopEncoderStreamErrorDelegate() override = default;
-
-  void OnEncoderStreamError(QuicErrorCode error_code,
-                            absl::string_view error_message) override;
-};
-
 // Mock QpackDecoder::EncoderStreamErrorDelegate implementation.
 class MockEncoderStreamErrorDelegate
     : public QpackDecoder::EncoderStreamErrorDelegate {