Replace quiche::QuicheStringPiece with absl::string_view.

PiperOrigin-RevId: 336819830
Change-Id: Ib3e47a9e3ad9c563a60434b41be492e85e6e4038
diff --git a/http2/hpack/hpack_string.cc b/http2/hpack/hpack_string.cc
index cb22f51..a68bd8b 100644
--- a/http2/hpack/hpack_string.cc
+++ b/http2/hpack/hpack_string.cc
@@ -12,33 +12,32 @@
 namespace http2 {
 
 HpackString::HpackString(const char* data) : str_(data) {}
-HpackString::HpackString(quiche::QuicheStringPiece str)
-    : str_(std::string(str)) {}
+HpackString::HpackString(absl::string_view str) : str_(std::string(str)) {}
 HpackString::HpackString(std::string str) : str_(std::move(str)) {}
 HpackString::HpackString(const HpackString& other) = default;
 HpackString::~HpackString() = default;
 
-quiche::QuicheStringPiece HpackString::ToStringPiece() const {
+absl::string_view HpackString::ToStringPiece() const {
   return str_;
 }
 
 bool HpackString::operator==(const HpackString& other) const {
   return str_ == other.str_;
 }
-bool HpackString::operator==(quiche::QuicheStringPiece str) const {
+bool HpackString::operator==(absl::string_view str) const {
   return str == str_;
 }
 
-bool operator==(quiche::QuicheStringPiece a, const HpackString& b) {
+bool operator==(absl::string_view a, const HpackString& b) {
   return b == a;
 }
-bool operator!=(quiche::QuicheStringPiece a, const HpackString& b) {
+bool operator!=(absl::string_view a, const HpackString& b) {
   return !(b == a);
 }
 bool operator!=(const HpackString& a, const HpackString& b) {
   return !(a == b);
 }
-bool operator!=(const HpackString& a, quiche::QuicheStringPiece b) {
+bool operator!=(const HpackString& a, absl::string_view b) {
   return !(a == b);
 }
 std::ostream& operator<<(std::ostream& out, const HpackString& v) {
@@ -51,8 +50,8 @@
   HTTP2_DVLOG(3) << DebugString() << " ctor";
 }
 
-HpackStringPair::HpackStringPair(quiche::QuicheStringPiece name,
-                                 quiche::QuicheStringPiece value)
+HpackStringPair::HpackStringPair(absl::string_view name,
+                                 absl::string_view value)
     : name(name), value(value) {
   HTTP2_DVLOG(3) << DebugString() << " ctor";
 }
diff --git a/http2/hpack/hpack_string.h b/http2/hpack/hpack_string.h
index 6789187..3af2348 100644
--- a/http2/hpack/hpack_string.h
+++ b/http2/hpack/hpack_string.h
@@ -15,15 +15,15 @@
 #include <iosfwd>
 #include <string>
 
+#include "absl/strings/string_view.h"
 #include "net/third_party/quiche/src/common/platform/api/quiche_export.h"
-#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 
 namespace http2 {
 
 class QUICHE_EXPORT_PRIVATE HpackString {
  public:
   explicit HpackString(const char* data);
-  explicit HpackString(quiche::QuicheStringPiece str);
+  explicit HpackString(absl::string_view str);
   explicit HpackString(std::string str);
   HpackString(const HpackString& other);
 
@@ -34,31 +34,30 @@
 
   size_t size() const { return str_.size(); }
   const std::string& ToString() const { return str_; }
-  quiche::QuicheStringPiece ToStringPiece() const;
+  absl::string_view ToStringPiece() const;
 
   bool operator==(const HpackString& other) const;
 
-  bool operator==(quiche::QuicheStringPiece str) const;
+  bool operator==(absl::string_view str) const;
 
  private:
   std::string str_;
 };
 
-QUICHE_EXPORT_PRIVATE bool operator==(quiche::QuicheStringPiece a,
+QUICHE_EXPORT_PRIVATE bool operator==(absl::string_view a,
                                       const HpackString& b);
-QUICHE_EXPORT_PRIVATE bool operator!=(quiche::QuicheStringPiece a,
+QUICHE_EXPORT_PRIVATE bool operator!=(absl::string_view a,
                                       const HpackString& b);
 QUICHE_EXPORT_PRIVATE bool operator!=(const HpackString& a,
                                       const HpackString& b);
 QUICHE_EXPORT_PRIVATE bool operator!=(const HpackString& a,
-                                      quiche::QuicheStringPiece b);
+                                      absl::string_view b);
 QUICHE_EXPORT_PRIVATE std::ostream& operator<<(std::ostream& out,
                                                const HpackString& v);
 
 struct QUICHE_EXPORT_PRIVATE HpackStringPair {
   HpackStringPair(const HpackString& name, const HpackString& value);
-  HpackStringPair(quiche::QuicheStringPiece name,
-                  quiche::QuicheStringPiece value);
+  HpackStringPair(absl::string_view name, absl::string_view value);
   ~HpackStringPair();
 
   // Returns the size of a header entry with this name and value, per the RFC:
diff --git a/http2/hpack/hpack_string_test.cc b/http2/hpack/hpack_string_test.cc
index 8d49b25..ee24115 100644
--- a/http2/hpack/hpack_string_test.cc
+++ b/http2/hpack/hpack_string_test.cc
@@ -28,7 +28,7 @@
   AssertionResult VerifyNotEqual(HpackString* actual,
                                  const std::string& not_expected_str) {
     const char* not_expected_ptr = not_expected_str.c_str();
-    quiche::QuicheStringPiece not_expected_sp(not_expected_str);
+    absl::string_view not_expected_sp(not_expected_str);
 
     VERIFY_NE(*actual, not_expected_ptr);
     VERIFY_NE(*actual, not_expected_sp);
@@ -56,7 +56,7 @@
     VERIFY_EQ(actual->size(), expected_str.size());
 
     const char* expected_ptr = expected_str.c_str();
-    const quiche::QuicheStringPiece expected_sp(expected_str);
+    const absl::string_view expected_sp(expected_str);
 
     VERIFY_EQ(*actual, expected_ptr);
     VERIFY_EQ(*actual, expected_sp);
@@ -91,12 +91,12 @@
 }
 
 TEST_F(HpackStringTest, StringPieceConstructor) {
-  quiche::QuicheStringPiece sp0(kStr0);
+  absl::string_view sp0(kStr0);
   HpackString hs0(sp0);
   EXPECT_TRUE(VerifyEqual(&hs0, kStr0));
   EXPECT_TRUE(VerifyNotEqual(&hs0, kStr1));
 
-  quiche::QuicheStringPiece sp1(kStr1);
+  absl::string_view sp1(kStr1);
   HpackString hs1(sp1);
   EXPECT_TRUE(VerifyEqual(&hs1, kStr1));
   EXPECT_TRUE(VerifyNotEqual(&hs1, kStr0));
@@ -115,7 +115,7 @@
 }
 
 TEST_F(HpackStringTest, CopyConstructor) {
-  quiche::QuicheStringPiece sp0(kStr0);
+  absl::string_view sp0(kStr0);
   HpackString hs0(sp0);
   HpackString hs1(hs0);
   EXPECT_EQ(hs0, hs1);
@@ -128,7 +128,7 @@
 }
 
 TEST_F(HpackStringTest, MoveConstructor) {
-  quiche::QuicheStringPiece sp0(kStr0);
+  absl::string_view sp0(kStr0);
   HpackString hs0(sp0);
   EXPECT_TRUE(VerifyEqual(&hs0, kStr0));
   EXPECT_TRUE(VerifyNotEqual(&hs0, ""));
diff --git a/http2/test_tools/frame_parts.cc b/http2/test_tools/frame_parts.cc
index 7b25299..95ea34d 100644
--- a/http2/test_tools/frame_parts.cc
+++ b/http2/test_tools/frame_parts.cc
@@ -51,14 +51,14 @@
 }
 
 FrameParts::FrameParts(const Http2FrameHeader& header,
-                       quiche::QuicheStringPiece payload)
+                       absl::string_view payload)
     : FrameParts(header) {
   HTTP2_VLOG(1) << "FrameParts with payload.size() = " << payload.size();
   this->payload_.append(payload.data(), payload.size());
   opt_payload_length_ = payload.size();
 }
 FrameParts::FrameParts(const Http2FrameHeader& header,
-                       quiche::QuicheStringPiece payload,
+                       absl::string_view payload,
                        size_t total_pad_length)
     : FrameParts(header, payload) {
   HTTP2_VLOG(1) << "FrameParts with total_pad_length=" << total_pad_length;
@@ -117,8 +117,8 @@
   }
 }
 
-void FrameParts::SetAltSvcExpected(quiche::QuicheStringPiece origin,
-                                   quiche::QuicheStringPiece value) {
+void FrameParts::SetAltSvcExpected(absl::string_view origin,
+                                   absl::string_view value) {
   altsvc_origin_.append(origin.data(), origin.size());
   altsvc_value_.append(value.data(), value.size());
   opt_altsvc_origin_length_ = origin.size();
@@ -140,7 +140,7 @@
   HTTP2_VLOG(1) << "OnDataPayload: len=" << len
                 << "; frame_header_: " << frame_header_;
   ASSERT_TRUE(InFrameOfType(Http2FrameType::DATA)) << *this;
-  ASSERT_TRUE(AppendString(quiche::QuicheStringPiece(data, len), &payload_,
+  ASSERT_TRUE(AppendString(absl::string_view(data, len), &payload_,
                            &opt_payload_length_));
 }
 
@@ -172,7 +172,7 @@
   ASSERT_TRUE(got_start_callback_);
   ASSERT_FALSE(got_end_callback_);
   ASSERT_TRUE(FrameCanHaveHpackPayload(frame_header_)) << *this;
-  ASSERT_TRUE(AppendString(quiche::QuicheStringPiece(data, len), &payload_,
+  ASSERT_TRUE(AppendString(absl::string_view(data, len), &payload_,
                            &opt_payload_length_));
 }
 
@@ -216,8 +216,8 @@
   HTTP2_VLOG(1) << "OnPadding: skipped_length=" << skipped_length;
   ASSERT_TRUE(InPaddedFrame()) << *this;
   ASSERT_TRUE(opt_pad_length_);
-  ASSERT_TRUE(AppendString(quiche::QuicheStringPiece(pad, skipped_length),
-                           &padding_, &opt_pad_length_));
+  ASSERT_TRUE(AppendString(absl::string_view(pad, skipped_length), &padding_,
+                           &opt_pad_length_));
 }
 
 void FrameParts::OnRstStream(const Http2FrameHeader& header,
@@ -313,7 +313,7 @@
 void FrameParts::OnGoAwayOpaqueData(const char* data, size_t len) {
   HTTP2_VLOG(1) << "OnGoAwayOpaqueData: len=" << len;
   ASSERT_TRUE(InFrameOfType(Http2FrameType::GOAWAY)) << *this;
-  ASSERT_TRUE(AppendString(quiche::QuicheStringPiece(data, len), &payload_,
+  ASSERT_TRUE(AppendString(absl::string_view(data, len), &payload_,
                            &opt_payload_length_));
 }
 
@@ -348,14 +348,14 @@
 void FrameParts::OnAltSvcOriginData(const char* data, size_t len) {
   HTTP2_VLOG(1) << "OnAltSvcOriginData: len=" << len;
   ASSERT_TRUE(InFrameOfType(Http2FrameType::ALTSVC)) << *this;
-  ASSERT_TRUE(AppendString(quiche::QuicheStringPiece(data, len),
-                           &altsvc_origin_, &opt_altsvc_origin_length_));
+  ASSERT_TRUE(AppendString(absl::string_view(data, len), &altsvc_origin_,
+                           &opt_altsvc_origin_length_));
 }
 
 void FrameParts::OnAltSvcValueData(const char* data, size_t len) {
   HTTP2_VLOG(1) << "OnAltSvcValueData: len=" << len;
   ASSERT_TRUE(InFrameOfType(Http2FrameType::ALTSVC)) << *this;
-  ASSERT_TRUE(AppendString(quiche::QuicheStringPiece(data, len), &altsvc_value_,
+  ASSERT_TRUE(AppendString(absl::string_view(data, len), &altsvc_value_,
                            &opt_altsvc_value_length_));
 }
 
@@ -378,7 +378,7 @@
   ASSERT_FALSE(IsSupportedHttp2FrameType(frame_header_.type)) << *this;
   ASSERT_TRUE(got_start_callback_);
   ASSERT_FALSE(got_end_callback_);
-  ASSERT_TRUE(AppendString(quiche::QuicheStringPiece(data, len), &payload_,
+  ASSERT_TRUE(AppendString(absl::string_view(data, len), &payload_,
                            &opt_payload_length_));
 }
 
@@ -507,7 +507,7 @@
 }
 
 AssertionResult FrameParts::AppendString(
-    quiche::QuicheStringPiece source,
+    absl::string_view source,
     std::string* target,
     quiche::QuicheOptional<size_t>* opt_length) {
   target->append(source.data(), source.size());
diff --git a/http2/test_tools/frame_parts.h b/http2/test_tools/frame_parts.h
index 68e5482..ca242b1 100644
--- a/http2/test_tools/frame_parts.h
+++ b/http2/test_tools/frame_parts.h
@@ -16,12 +16,12 @@
 #include <string>
 #include <vector>
 
+#include "absl/strings/string_view.h"
 #include "net/third_party/quiche/src/http2/decoder/http2_frame_decoder_listener.h"
 #include "net/third_party/quiche/src/http2/http2_constants.h"
 #include "net/third_party/quiche/src/http2/http2_structures.h"
 #include "net/third_party/quiche/src/http2/platform/api/http2_logging.h"
 #include "net/third_party/quiche/src/common/platform/api/quiche_optional.h"
-#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 #include "net/third_party/quiche/src/common/platform/api/quiche_test.h"
 
 namespace http2 {
@@ -34,12 +34,12 @@
   explicit FrameParts(const Http2FrameHeader& header);
 
   // For use in tests where the expected frame has a variable size payload.
-  FrameParts(const Http2FrameHeader& header, quiche::QuicheStringPiece payload);
+  FrameParts(const Http2FrameHeader& header, absl::string_view payload);
 
   // For use in tests where the expected frame has a variable size payload
   // and may be padded.
   FrameParts(const Http2FrameHeader& header,
-             quiche::QuicheStringPiece payload,
+             absl::string_view payload,
              size_t total_pad_length);
 
   // Copy constructor.
@@ -58,8 +58,7 @@
   void SetTotalPadLength(size_t total_pad_length);
 
   // Set the origin and value expected in an ALTSVC frame.
-  void SetAltSvcExpected(quiche::QuicheStringPiece origin,
-                         quiche::QuicheStringPiece value);
+  void SetAltSvcExpected(absl::string_view origin, absl::string_view value);
 
   // Http2FrameDecoderListener methods:
   bool OnFrameHeader(const Http2FrameHeader& header) override;
@@ -217,7 +216,7 @@
   // the optional has a value (i.e. that the necessary On*Start method has been
   // called), and that target is not longer than opt_length->value().
   ::testing::AssertionResult AppendString(
-      quiche::QuicheStringPiece source,
+      absl::string_view source,
       std::string* target,
       quiche::QuicheOptional<size_t>* opt_length);
 
diff --git a/http2/test_tools/http2_random.cc b/http2/test_tools/http2_random.cc
index df20364..5fb2f7d 100644
--- a/http2/test_tools/http2_random.cc
+++ b/http2/test_tools/http2_random.cc
@@ -16,7 +16,7 @@
   HTTP2_LOG(INFO) << "Initialized test RNG with the following key: " << Key();
 }
 
-Http2Random::Http2Random(quiche::QuicheStringPiece key) {
+Http2Random::Http2Random(absl::string_view key) {
   std::string decoded_key = Http2HexDecode(key);
   CHECK_EQ(sizeof(key_), decoded_key.size());
   memcpy(key_, decoded_key.data(), sizeof(key_));
@@ -58,9 +58,8 @@
   return value.f - 1.0;
 }
 
-std::string Http2Random::RandStringWithAlphabet(
-    int length,
-    quiche::QuicheStringPiece alphabet) {
+std::string Http2Random::RandStringWithAlphabet(int length,
+                                                absl::string_view alphabet) {
   std::string result;
   result.resize(length);
   for (int i = 0; i < length; i++) {
diff --git a/http2/test_tools/http2_random.h b/http2/test_tools/http2_random.h
index 9f046a1..4fe2a51 100644
--- a/http2/test_tools/http2_random.h
+++ b/http2/test_tools/http2_random.h
@@ -11,7 +11,7 @@
 #include <random>
 #include <string>
 
-#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
+#include "absl/strings/string_view.h"
 
 namespace http2 {
 namespace test {
@@ -28,7 +28,7 @@
 
   // Reproducible random number generation: by using the same key, the same
   // sequence of results is obtained.
-  explicit Http2Random(quiche::QuicheStringPiece key);
+  explicit Http2Random(absl::string_view key);
   std::string Key() const;
 
   void FillRandom(void* buffer, size_t buffer_size);
@@ -67,8 +67,7 @@
 
   // Return a random string consisting of the characters from the specified
   // alphabet.
-  std::string RandStringWithAlphabet(int length,
-                                     quiche::QuicheStringPiece alphabet);
+  std::string RandStringWithAlphabet(int length, absl::string_view alphabet);
 
   // STL UniformRandomNumberGenerator implementation.
   using result_type = uint64_t;