Removes a method from HpackDecoderStringBuffer that is only used in tests.

Protected by removing unused code, not protected.

PiperOrigin-RevId: 596028904
diff --git a/quiche/http2/hpack/decoder/hpack_decoder_state_test.cc b/quiche/http2/hpack/decoder/hpack_decoder_state_test.cc
index 46872aa..419dd8d 100644
--- a/quiche/http2/hpack/decoder/hpack_decoder_state_test.cc
+++ b/quiche/http2/hpack/decoder/hpack_decoder_state_test.cc
@@ -43,7 +43,7 @@
               (override));
 };
 
-enum StringBacking { STATIC, UNBUFFERED, BUFFERED };
+enum StringBacking { UNBUFFERED, BUFFERED };
 
 class HpackDecoderStateTest : public quiche::test::QuicheTest {
  protected:
@@ -69,27 +69,21 @@
     GetDecoderTables()->DynamicTableSizeUpdate(size);
   }
 
-  void SetStringBuffer(const char* s, StringBacking backing,
+  void SetStringBuffer(absl::string_view s, StringBacking backing,
                        HpackDecoderStringBuffer* string_buffer) {
-    switch (backing) {
-      case STATIC:
-        string_buffer->Set(s, true);
-        break;
-      case UNBUFFERED:
-        string_buffer->Set(s, false);
-        break;
-      case BUFFERED:
-        string_buffer->Set(s, false);
-        string_buffer->BufferStringIfUnbuffered();
-        break;
+    string_buffer->OnStart(false, s.size());
+    EXPECT_TRUE(string_buffer->OnData(s.data(), s.size()));
+    EXPECT_TRUE(string_buffer->OnEnd());
+    if (backing == BUFFERED) {
+      string_buffer->BufferStringIfUnbuffered();
     }
   }
 
-  void SetName(const char* s, StringBacking backing) {
+  void SetName(absl::string_view s, StringBacking backing) {
     SetStringBuffer(s, backing, &name_buffer_);
   }
 
-  void SetValue(const char* s, StringBacking backing) {
+  void SetValue(absl::string_view s, StringBacking backing) {
     SetStringBuffer(s, backing, &value_buffer_);
   }
 
@@ -106,15 +100,16 @@
 
   void SendIndexAndVerifyCallback(size_t index,
                                   HpackEntryType /*expected_type*/,
-                                  const char* expected_name,
-                                  const char* expected_value) {
+                                  absl::string_view expected_name,
+                                  absl::string_view expected_value) {
     EXPECT_CALL(listener_, OnHeader(Eq(expected_name), Eq(expected_value)));
     decoder_state_.OnIndexedHeader(index);
     Mock::VerifyAndClearExpectations(&listener_);
   }
 
   void SendValueAndVerifyCallback(size_t name_index, HpackEntryType entry_type,
-                                  const char* name, const char* value,
+                                  absl::string_view name,
+                                  absl::string_view value,
                                   StringBacking value_backing) {
     SetValue(value, value_backing);
     EXPECT_CALL(listener_, OnHeader(Eq(name), Eq(value)));
@@ -124,9 +119,9 @@
   }
 
   void SendNameAndValueAndVerifyCallback(HpackEntryType entry_type,
-                                         const char* name,
+                                         absl::string_view name,
                                          StringBacking name_backing,
-                                         const char* value,
+                                         absl::string_view value,
                                          StringBacking value_backing) {
     SetName(name, name_backing);
     SetValue(value, value_backing);
@@ -143,8 +138,8 @@
   }
 
   // dynamic_index is one-based, because that is the way RFC 7541 shows it.
-  AssertionResult VerifyEntry(size_t dynamic_index, const char* name,
-                              const char* value) {
+  AssertionResult VerifyEntry(size_t dynamic_index, absl::string_view name,
+                              absl::string_view value) {
     const HpackStringPair* entry =
         Lookup(dynamic_index + kFirstDynamicTableIndex - 1);
     HTTP2_VERIFY_NE(entry, nullptr);
@@ -159,7 +154,8 @@
     return AssertionSuccess();
   }
   AssertionResult VerifyDynamicTableContents(
-      const std::vector<std::pair<const char*, const char*>>& entries) {
+      const std::vector<std::pair<absl::string_view, absl::string_view>>&
+          entries) {
     size_t index = 1;
     for (const auto& entry : entries) {
       HTTP2_VERIFY_SUCCESS(VerifyEntry(index, entry.first, entry.second));
diff --git a/quiche/http2/hpack/decoder/hpack_decoder_string_buffer.cc b/quiche/http2/hpack/decoder/hpack_decoder_string_buffer.cc
index c57da8e..ab2bb12 100644
--- a/quiche/http2/hpack/decoder/hpack_decoder_string_buffer.cc
+++ b/quiche/http2/hpack/decoder/hpack_decoder_string_buffer.cc
@@ -38,8 +38,6 @@
       return out << "UNBUFFERED";
     case HpackDecoderStringBuffer::Backing::BUFFERED:
       return out << "BUFFERED";
-    case HpackDecoderStringBuffer::Backing::STATIC:
-      return out << "STATIC";
   }
   // Since the value doesn't come over the wire, only a programming bug should
   // result in reaching this point.
@@ -61,17 +59,6 @@
   state_ = State::RESET;
 }
 
-void HpackDecoderStringBuffer::Set(absl::string_view value, bool is_static) {
-  QUICHE_DVLOG(2) << "HpackDecoderStringBuffer::Set";
-  QUICHE_DCHECK_EQ(state_, State::RESET);
-  value_ = value;
-  state_ = State::COMPLETE;
-  backing_ = is_static ? Backing::STATIC : Backing::UNBUFFERED;
-  // TODO(jamessynge): Determine which of these two fields must be set.
-  remaining_len_ = 0;
-  is_huffman_encoded_ = false;
-}
-
 void HpackDecoderStringBuffer::OnStart(bool huffman_encoded, size_t len) {
   QUICHE_DVLOG(2) << "HpackDecoderStringBuffer::OnStart";
   QUICHE_DCHECK_EQ(state_, State::RESET);
diff --git a/quiche/http2/hpack/decoder/hpack_decoder_string_buffer.h b/quiche/http2/hpack/decoder/hpack_decoder_string_buffer.h
index a2b8605..ede1e71 100644
--- a/quiche/http2/hpack/decoder/hpack_decoder_string_buffer.h
+++ b/quiche/http2/hpack/decoder/hpack_decoder_string_buffer.h
@@ -23,7 +23,7 @@
 class QUICHE_EXPORT HpackDecoderStringBuffer {
  public:
   enum class State : uint8_t { RESET, COLLECTING, COMPLETE };
-  enum class Backing : uint8_t { RESET, UNBUFFERED, BUFFERED, STATIC };
+  enum class Backing : uint8_t { RESET, UNBUFFERED, BUFFERED };
 
   HpackDecoderStringBuffer();
   ~HpackDecoderStringBuffer();
@@ -32,7 +32,6 @@
   HpackDecoderStringBuffer& operator=(const HpackDecoderStringBuffer&) = delete;
 
   void Reset();
-  void Set(absl::string_view value, bool is_static);
 
   // Note that for Huffman encoded strings the length of the string after
   // decoding may be larger (expected), the same or even smaller; the latter
diff --git a/quiche/http2/hpack/decoder/hpack_decoder_string_buffer_test.cc b/quiche/http2/hpack/decoder/hpack_decoder_string_buffer_test.cc
index 299391f..c5eba14 100644
--- a/quiche/http2/hpack/decoder/hpack_decoder_string_buffer_test.cc
+++ b/quiche/http2/hpack/decoder/hpack_decoder_string_buffer_test.cc
@@ -46,31 +46,6 @@
   HpackDecoderStringBuffer buf_;
 };
 
-TEST_F(HpackDecoderStringBufferTest, SetStatic) {
-  absl::string_view data("static string");
-
-  EXPECT_EQ(state(), State::RESET);
-  EXPECT_TRUE(VerifyLogHasSubstrs({"state=RESET"}));
-
-  buf_.Set(data, /*is_static*/ true);
-  QUICHE_LOG(INFO) << buf_;
-  EXPECT_EQ(state(), State::COMPLETE);
-  EXPECT_EQ(backing(), Backing::STATIC);
-  EXPECT_EQ(data, buf_.str());
-  EXPECT_EQ(data.data(), buf_.str().data());
-  EXPECT_TRUE(VerifyLogHasSubstrs(
-      {"state=COMPLETE", "backing=STATIC", "value: static string"}));
-
-  // The string is static, so BufferStringIfUnbuffered won't change anything.
-  buf_.BufferStringIfUnbuffered();
-  EXPECT_EQ(state(), State::COMPLETE);
-  EXPECT_EQ(backing(), Backing::STATIC);
-  EXPECT_EQ(data, buf_.str());
-  EXPECT_EQ(data.data(), buf_.str().data());
-  EXPECT_TRUE(VerifyLogHasSubstrs(
-      {"state=COMPLETE", "backing=STATIC", "value: static string"}));
-}
-
 TEST_F(HpackDecoderStringBufferTest, PlainWhole) {
   absl::string_view data("some text.");