Remove BalsaVisitorInterface::OnHeader().

OnHeader() did not end up being used by BalsaParser in the end.
This CL almost exactly reverts cl/460514650.

PiperOrigin-RevId: 586730894
diff --git a/quiche/balsa/balsa_frame.cc b/quiche/balsa/balsa_frame.cc
index 7fb5b08..8263b35 100644
--- a/quiche/balsa/balsa_frame.cc
+++ b/quiche/balsa/balsa_frame.cc
@@ -458,15 +458,6 @@
       CleanUpKeyValueWhitespace(stream_begin, line_begin, current, line_end,
                                 &current_header_line);
     }
-
-    const absl::string_view key(
-        stream_begin + current_header_line.first_char_idx,
-        current_header_line.key_end_idx - current_header_line.first_char_idx);
-    const absl::string_view value(
-        stream_begin + current_header_line.value_begin_idx,
-        current_header_line.last_char_idx -
-            current_header_line.value_begin_idx);
-    visitor_->OnHeader(key, value);
   }
 
   return true;
diff --git a/quiche/balsa/balsa_frame_test.cc b/quiche/balsa/balsa_frame_test.cc
index 4452ecb..03bee17 100644
--- a/quiche/balsa/balsa_frame_test.cc
+++ b/quiche/balsa/balsa_frame_test.cc
@@ -547,8 +547,6 @@
   MOCK_METHOD(void, OnRawBodyInput, (absl::string_view input), (override));
   MOCK_METHOD(void, OnBodyChunkInput, (absl::string_view input), (override));
   MOCK_METHOD(void, OnHeaderInput, (absl::string_view input), (override));
-  MOCK_METHOD(void, OnHeader, (absl::string_view key, absl::string_view value),
-              (override));
   MOCK_METHOD(void, OnTrailerInput, (absl::string_view input), (override));
   MOCK_METHOD(void, ProcessHeaders, (const FakeHeaders& headers));
   // TODO(b/134507471): Rename to OnTrailers().
@@ -590,8 +588,6 @@
     balsa_frame_.set_balsa_headers(&headers_);
     balsa_frame_.set_balsa_visitor(&visitor_mock_);
     balsa_frame_.set_is_request(true);
-
-    EXPECT_CALL(visitor_mock_, OnHeader).Times(AnyNumber());
   }
 
   void VerifyFirstLineParsing(const std::string& firstline,
@@ -1300,9 +1296,10 @@
 
   InSequence s;
 
-  // OnHeader() visitor method is called as soon as headers are parsed.
-  EXPECT_CALL(visitor_mock_, OnHeader("Connection", "close"));
-  EXPECT_CALL(visitor_mock_, OnHeader("transfer-encoding", "chunked"));
+  FakeHeaders fake_headers;
+  fake_headers.AddKeyValue("Connection", "close");
+  fake_headers.AddKeyValue("transfer-encoding", "chunked");
+  EXPECT_CALL(visitor_mock_, ProcessHeaders(fake_headers));
   ASSERT_EQ(headers.size(),
             balsa_frame_.ProcessInput(headers.data(), headers.size()));
   testing::Mock::VerifyAndClearExpectations(&visitor_mock_);
@@ -1310,9 +1307,6 @@
   ASSERT_EQ(chunks.size(),
             balsa_frame_.ProcessInput(chunks.data(), chunks.size()));
 
-  EXPECT_CALL(visitor_mock_, OnHeader("crass", "monkeys"));
-  EXPECT_CALL(visitor_mock_, OnHeader("funky", "monkeys"));
-
   FakeHeaders fake_trailers;
   fake_trailers.AddKeyValue("crass", "monkeys");
   fake_trailers.AddKeyValue("funky", "monkeys");
@@ -2449,10 +2443,8 @@
       EXPECT_CALL(visitor_mock, OnResponseFirstLineInput(
                                     "HTTP/1.1  \t 200 Ok all is well",
                                     "HTTP/1.1", "200", "Ok all is well"));
-      EXPECT_CALL(visitor_mock, OnHeader);
       EXPECT_CALL(visitor_mock, ProcessHeaders(fake_headers));
       EXPECT_CALL(visitor_mock, HeaderDone());
-      EXPECT_CALL(visitor_mock, OnHeader);
       EXPECT_CALL(visitor_mock, ProcessTrailers(fake_headers_in_trailer));
       EXPECT_CALL(visitor_mock, MessageDone());
     }
@@ -2546,10 +2538,8 @@
       EXPECT_CALL(visitor_mock, OnResponseFirstLineInput(
                                     "HTTP/1.1  \t 200 Ok all is well",
                                     "HTTP/1.1", "200", "Ok all is well"));
-      EXPECT_CALL(visitor_mock, OnHeader);
       EXPECT_CALL(visitor_mock, ProcessHeaders(fake_headers));
       EXPECT_CALL(visitor_mock, HeaderDone());
-      EXPECT_CALL(visitor_mock, OnHeader);
       EXPECT_CALL(visitor_mock, ProcessTrailers(fake_headers_in_trailer));
       EXPECT_CALL(visitor_mock, MessageDone());
     }
@@ -2669,7 +2659,6 @@
     EXPECT_CALL(visitor_mock_, OnRequestFirstLineInput("GET / HTTP/1.1", "GET",
                                                        "/", "HTTP/1.1"));
     EXPECT_CALL(visitor_mock_, OnHeaderInput(_));
-    EXPECT_CALL(visitor_mock_, OnHeader).Times(AnyNumber());
     EXPECT_CALL(visitor_mock_,
                 HandleError(BalsaFrameEnums::INVALID_HEADER_FORMAT));
 
@@ -2704,7 +2693,6 @@
 
     EXPECT_CALL(visitor_mock_, OnResponseFirstLineInput);
     EXPECT_CALL(visitor_mock_, OnHeaderInput);
-    EXPECT_CALL(visitor_mock_, OnHeader).Times(AnyNumber());
     EXPECT_CALL(visitor_mock_, ProcessHeaders);
     EXPECT_CALL(visitor_mock_, HeaderDone);
     EXPECT_CALL(visitor_mock_, OnChunkLength(3));
@@ -2715,7 +2703,6 @@
     EXPECT_CALL(visitor_mock_, OnChunkExtensionInput);
     EXPECT_CALL(visitor_mock_, OnRawBodyInput);
     EXPECT_CALL(visitor_mock_, OnRawBodyInput);
-    EXPECT_CALL(visitor_mock_, OnHeader).Times(AnyNumber());
     const auto expected_error =
         invalid_name_char ? BalsaFrameEnums::INVALID_TRAILER_NAME_CHARACTER
                           : BalsaFrameEnums::INVALID_TRAILER_FORMAT;
@@ -2781,8 +2768,6 @@
   EXPECT_CALL(visitor_mock_, OnRequestFirstLineInput("GET / HTTP/1.1", "GET",
                                                      "/", "HTTP/1.1"));
   EXPECT_CALL(visitor_mock_, OnHeaderInput(_));
-  EXPECT_CALL(visitor_mock_, OnHeader("i", ""));
-  EXPECT_CALL(visitor_mock_, OnHeader("", "val"));
   EXPECT_CALL(visitor_mock_,
               HandleWarning(BalsaFrameEnums::HEADER_MISSING_COLON))
       .Times(27);
diff --git a/quiche/balsa/balsa_visitor_interface.h b/quiche/balsa/balsa_visitor_interface.h
index db955fb..3f3935f 100644
--- a/quiche/balsa/balsa_visitor_interface.h
+++ b/quiche/balsa/balsa_visitor_interface.h
@@ -51,14 +51,6 @@
   virtual void OnHeaderInput(absl::string_view input) = 0;
 
   // Summary:
-  //   BalsaFrame passes each header through this function as soon as it is
-  //   parsed.
-  // Argument:
-  //   key - the header name.
-  //   value - the associated header value.
-  virtual void OnHeader(absl::string_view key, absl::string_view value) = 0;
-
-  // Summary:
   //   BalsaFrame passes the raw trailer data through this function. This is not
   //   cleaned up in any way.  Note that trailers only occur in a message if
   //   there was a chunked encoding, and not always then.
diff --git a/quiche/balsa/noop_balsa_visitor.h b/quiche/balsa/noop_balsa_visitor.h
index 20c478d..634f424 100644
--- a/quiche/balsa/noop_balsa_visitor.h
+++ b/quiche/balsa/noop_balsa_visitor.h
@@ -31,8 +31,6 @@
   void OnRawBodyInput(absl::string_view /*input*/) override {}
   void OnBodyChunkInput(absl::string_view /*input*/) override {}
   void OnHeaderInput(absl::string_view /*input*/) override {}
-  void OnHeader(absl::string_view /*key*/,
-                absl::string_view /*value*/) override {}
   void OnTrailerInput(absl::string_view /*input*/) override {}
   void ProcessHeaders(const BalsaHeaders& /*headers*/) override {}
   void ProcessTrailers(const BalsaHeaders& /*trailer*/) override {}