Replace QuicString with std::string, pass 1

This replaces QuicString with std::string in all of the "QUIC proper".  I will
delete QuicString once all code using it is gone.

gfe-relnote: n/a (no functional change)
PiperOrigin-RevId: 237872023
Change-Id: I82de62c9855516b15039734d05155917e68ff4ee
diff --git a/quic/core/qpack/fuzzer/qpack_encoder_stream_sender_fuzzer.cc b/quic/core/qpack/fuzzer/qpack_encoder_stream_sender_fuzzer.cc
index 501a69f..bc4de90 100644
--- a/quic/core/qpack/fuzzer/qpack_encoder_stream_sender_fuzzer.cc
+++ b/quic/core/qpack/fuzzer/qpack_encoder_stream_sender_fuzzer.cc
@@ -35,7 +35,7 @@
         uint64_t name_index = provider.ConsumeIntegral<uint64_t>();
         uint16_t value_length =
             provider.ConsumeIntegralInRange<uint16_t>(0, kMaxStringLength);
-        QuicString value = provider.ConsumeRandomLengthString(value_length);
+        std::string value = provider.ConsumeRandomLengthString(value_length);
 
         sender.SendInsertWithNameReference(is_static, name_index, value);
         break;
@@ -43,10 +43,10 @@
       case 1: {
         uint16_t name_length =
             provider.ConsumeIntegralInRange<uint16_t>(0, kMaxStringLength);
-        QuicString name = provider.ConsumeRandomLengthString(name_length);
+        std::string name = provider.ConsumeRandomLengthString(name_length);
         uint16_t value_length =
             provider.ConsumeIntegralInRange<uint16_t>(0, kMaxStringLength);
-        QuicString value = provider.ConsumeRandomLengthString(value_length);
+        std::string value = provider.ConsumeRandomLengthString(value_length);
         sender.SendInsertWithoutNameReference(name, value);
         break;
       }
diff --git a/quic/core/qpack/fuzzer/qpack_round_trip_fuzzer.cc b/quic/core/qpack/fuzzer/qpack_round_trip_fuzzer.cc
index 7f75a0f..3c21964 100644
--- a/quic/core/qpack/fuzzer/qpack_round_trip_fuzzer.cc
+++ b/quic/core/qpack/fuzzer/qpack_round_trip_fuzzer.cc
@@ -32,8 +32,8 @@
       break;
     }
 
-    QuicString name;
-    QuicString value;
+    std::string name;
+    std::string value;
     switch (provider.ConsumeIntegral<uint8_t>()) {
       case 0:
         // Static table entry with no header value.
@@ -126,7 +126,7 @@
   // Encode header list.
   NoopDecoderStreamErrorDelegate decoder_stream_error_delegate;
   NoopEncoderStreamSenderDelegate encoder_stream_sender_delegate;
-  QuicString encoded_header_block = QpackEncode(
+  std::string encoded_header_block = QpackEncode(
       &decoder_stream_error_delegate, &encoder_stream_sender_delegate,
       fragment_size_generator, &header_list);
 
diff --git a/quic/core/qpack/offline/qpack_offline_decoder.cc b/quic/core/qpack/offline/qpack_offline_decoder.cc
index 2b02edd..137ee7c 100644
--- a/quic/core/qpack/offline/qpack_offline_decoder.cc
+++ b/quic/core/qpack/offline/qpack_offline_decoder.cc
@@ -107,7 +107,7 @@
     QuicStringPiece input_filename) {
   // Store data in |input_data_storage|; use a QuicStringPiece to efficiently
   // keep track of remaining portion yet to be decoded.
-  QuicString input_data_storage;
+  std::string input_data_storage;
   ReadFileContents(input_filename, &input_data_storage);
   QuicStringPiece input_data(input_data_storage);
 
@@ -166,7 +166,7 @@
     QuicStringPiece expected_headers_filename) {
   // Store data in |expected_headers_data_storage|; use a QuicStringPiece to
   // efficiently keep track of remaining portion yet to be decoded.
-  QuicString expected_headers_data_storage;
+  std::string expected_headers_data_storage;
   ReadFileContents(expected_headers_filename, &expected_headers_data_storage);
   QuicStringPiece expected_headers_data(expected_headers_data_storage);
 
diff --git a/quic/core/qpack/offline/qpack_offline_decoder_bin.cc b/quic/core/qpack/offline/qpack_offline_decoder_bin.cc
index a0319e6..a4f5373 100644
--- a/quic/core/qpack/offline/qpack_offline_decoder_bin.cc
+++ b/quic/core/qpack/offline/qpack_offline_decoder_bin.cc
@@ -15,7 +15,7 @@
   const char* usage =
       "Usage: qpack_offline_decoder input_filename expected_headers_filename "
       "....";
-  std::vector<quic::QuicString> args =
+  std::vector<std::string> args =
       quic::QuicParseCommandLineFlags(usage, argc, argv);
 
   if (args.size() < 2 || args.size() % 2 != 0) {
diff --git a/quic/core/qpack/qpack_decoded_headers_accumulator.h b/quic/core/qpack/qpack_decoded_headers_accumulator.h
index 47d4f63..889769f 100644
--- a/quic/core/qpack/qpack_decoded_headers_accumulator.h
+++ b/quic/core/qpack/qpack_decoded_headers_accumulator.h
@@ -56,7 +56,7 @@
   size_t uncompressed_header_bytes_;
   size_t compressed_header_bytes_;
   bool error_detected_;
-  QuicString error_message_;
+  std::string error_message_;
 };
 
 }  // namespace quic
diff --git a/quic/core/qpack/qpack_decoded_headers_accumulator_test.cc b/quic/core/qpack/qpack_decoded_headers_accumulator_test.cc
index 0c71b19..27c6fa1 100644
--- a/quic/core/qpack/qpack_decoded_headers_accumulator_test.cc
+++ b/quic/core/qpack/qpack_decoded_headers_accumulator_test.cc
@@ -79,7 +79,7 @@
   EXPECT_CALL(decoder_stream_sender_delegate_,
               WriteDecoderStreamData(Eq(kHeaderAcknowledgement)));
 
-  QuicString encoded_data(QuicTextUtils::HexDecode("000023666f6f03626172"));
+  std::string encoded_data(QuicTextUtils::HexDecode("000023666f6f03626172"));
   EXPECT_TRUE(accumulator_.Decode(encoded_data));
   EXPECT_TRUE(accumulator_.EndHeaderBlock());
 
diff --git a/quic/core/qpack/qpack_decoder_stream_sender.cc b/quic/core/qpack/qpack_decoder_stream_sender.cc
index 141b64a..cdb3b35 100644
--- a/quic/core/qpack/qpack_decoder_stream_sender.cc
+++ b/quic/core/qpack/qpack_decoder_stream_sender.cc
@@ -23,7 +23,7 @@
 
   instruction_encoder_.Encode(InsertCountIncrementInstruction());
 
-  QuicString output;
+  std::string output;
 
   instruction_encoder_.Next(std::numeric_limits<size_t>::max(), &output);
   DCHECK(!instruction_encoder_.HasNext());
@@ -37,7 +37,7 @@
 
   instruction_encoder_.Encode(HeaderAcknowledgementInstruction());
 
-  QuicString output;
+  std::string output;
 
   instruction_encoder_.Next(std::numeric_limits<size_t>::max(), &output);
   DCHECK(!instruction_encoder_.HasNext());
@@ -50,7 +50,7 @@
 
   instruction_encoder_.Encode(StreamCancellationInstruction());
 
-  QuicString output;
+  std::string output;
 
   instruction_encoder_.Next(std::numeric_limits<size_t>::max(), &output);
   DCHECK(!instruction_encoder_.HasNext());
diff --git a/quic/core/qpack/qpack_decoder_test.cc b/quic/core/qpack/qpack_decoder_test.cc
index 7292c50..d6740c8 100644
--- a/quic/core/qpack/qpack_decoder_test.cc
+++ b/quic/core/qpack/qpack_decoder_test.cc
@@ -62,8 +62,10 @@
   const FragmentMode fragment_mode_;
 };
 
-INSTANTIATE_TEST_SUITE_P(, QpackDecoderTest, Values(FragmentMode::kSingleChunk,
-                                                  FragmentMode::kOctetByOctet));
+INSTANTIATE_TEST_SUITE_P(,
+                         QpackDecoderTest,
+                         Values(FragmentMode::kSingleChunk,
+                                FragmentMode::kOctetByOctet));
 
 TEST_P(QpackDecoderTest, NoPrefix) {
   EXPECT_CALL(handler_,
@@ -119,7 +121,7 @@
 
 TEST_P(QpackDecoderTest, MultipleLiteralEntries) {
   EXPECT_CALL(handler_, OnHeaderDecoded(Eq("foo"), Eq("bar")));
-  QuicString str(127, 'a');
+  std::string str(127, 'a');
   EXPECT_CALL(handler_, OnHeaderDecoded(Eq("foobaar"), QuicStringPiece(str)));
   EXPECT_CALL(handler_, OnDecodingCompleted());
   EXPECT_CALL(decoder_stream_sender_delegate_,
@@ -558,11 +560,11 @@
   DecodeEncoderStreamData(
       QuicTextUtils::HexDecode("6294e7"     // Name "foo".
                                "7fd903"));  // Value length 600.
-  QuicString header_value(600, 'Z');
+  std::string header_value(600, 'Z');
   DecodeEncoderStreamData(header_value);
 
   // Duplicate most recent entry 200 times.
-  DecodeEncoderStreamData(QuicString(200, '\x00'));
+  DecodeEncoderStreamData(std::string(200, '\x00'));
 
   // Now there is only one entry in the dynamic table, with absolute index 200.
 
diff --git a/quic/core/qpack/qpack_encoder_stream_receiver_test.cc b/quic/core/qpack/qpack_encoder_stream_receiver_test.cc
index 5685981..dcb2039 100644
--- a/quic/core/qpack/qpack_encoder_stream_receiver_test.cc
+++ b/quic/core/qpack/qpack_encoder_stream_receiver_test.cc
@@ -54,7 +54,7 @@
   // Value length does not fit in prefix.
   // 'Z' would be Huffman encoded to 8 bits, so no Huffman encoding is used.
   EXPECT_CALL(*delegate(),
-              OnInsertWithNameReference(false, 42, Eq(QuicString(127, 'Z'))));
+              OnInsertWithNameReference(false, 42, Eq(std::string(127, 'Z'))));
 
   Decode(QuicTextUtils::HexDecode(
       "c500"
@@ -88,8 +88,8 @@
   // Not Huffman encoded long strings; length does not fit on prefix.
   // 'Z' would be Huffman encoded to 8 bits, so no Huffman encoding is used.
   EXPECT_CALL(*delegate(),
-              OnInsertWithoutNameReference(Eq(QuicString(31, 'Z')),
-                                           Eq(QuicString(127, 'Z'))));
+              OnInsertWithoutNameReference(Eq(std::string(31, 'Z')),
+                                           Eq(std::string(127, 'Z'))));
 
   Decode(QuicTextUtils::HexDecode(
       "4000"
diff --git a/quic/core/qpack/qpack_encoder_stream_sender.cc b/quic/core/qpack/qpack_encoder_stream_sender.cc
index fb43046..6cd458a 100644
--- a/quic/core/qpack/qpack_encoder_stream_sender.cc
+++ b/quic/core/qpack/qpack_encoder_stream_sender.cc
@@ -28,7 +28,7 @@
 
   instruction_encoder_.Encode(InsertWithNameReferenceInstruction());
 
-  QuicString output;
+  std::string output;
 
   instruction_encoder_.Next(std::numeric_limits<size_t>::max(), &output);
   DCHECK(!instruction_encoder_.HasNext());
@@ -44,7 +44,7 @@
 
   instruction_encoder_.Encode(InsertWithoutNameReferenceInstruction());
 
-  QuicString output;
+  std::string output;
 
   instruction_encoder_.Next(std::numeric_limits<size_t>::max(), &output);
   DCHECK(!instruction_encoder_.HasNext());
@@ -57,7 +57,7 @@
 
   instruction_encoder_.Encode(DuplicateInstruction());
 
-  QuicString output;
+  std::string output;
 
   instruction_encoder_.Next(std::numeric_limits<size_t>::max(), &output);
   DCHECK(!instruction_encoder_.HasNext());
@@ -70,7 +70,7 @@
 
   instruction_encoder_.Encode(SetDynamicTableCapacityInstruction());
 
-  QuicString output;
+  std::string output;
 
   instruction_encoder_.Next(std::numeric_limits<size_t>::max(), &output);
   DCHECK(!instruction_encoder_.HasNext());
diff --git a/quic/core/qpack/qpack_encoder_stream_sender_test.cc b/quic/core/qpack/qpack_encoder_stream_sender_test.cc
index a850f18..a2e7376 100644
--- a/quic/core/qpack/qpack_encoder_stream_sender_test.cc
+++ b/quic/core/qpack/qpack_encoder_stream_sender_test.cc
@@ -51,7 +51,7 @@
           "5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a"
           "5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a"
           "5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a"))));
-  stream_.SendInsertWithNameReference(false, 42, QuicString(127, 'Z'));
+  stream_.SendInsertWithNameReference(false, 42, std::string(127, 'Z'));
 }
 
 TEST_F(QpackEncoderStreamSenderTest, InsertWithoutNameReference) {
@@ -80,8 +80,8 @@
           "5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a"
           "5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a"
           "5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a"))));
-  stream_.SendInsertWithoutNameReference(QuicString(31, 'Z'),
-                                         QuicString(127, 'Z'));
+  stream_.SendInsertWithoutNameReference(std::string(31, 'Z'),
+                                         std::string(127, 'Z'));
 }
 
 TEST_F(QpackEncoderStreamSenderTest, Duplicate) {
diff --git a/quic/core/qpack/qpack_encoder_test.cc b/quic/core/qpack/qpack_encoder_test.cc
index 6dea968..939856d 100644
--- a/quic/core/qpack/qpack_encoder_test.cc
+++ b/quic/core/qpack/qpack_encoder_test.cc
@@ -24,7 +24,7 @@
   QpackEncoderTest() : fragment_mode_(GetParam()) {}
   ~QpackEncoderTest() override = default;
 
-  QuicString Encode(const spdy::SpdyHeaderBlock* header_list) {
+  std::string Encode(const spdy::SpdyHeaderBlock* header_list) {
     return QpackEncode(
         &decoder_stream_error_delegate_, &encoder_stream_sender_delegate_,
         FragmentModeToFragmentSizeGenerator(fragment_mode_), header_list);
@@ -44,7 +44,7 @@
 
 TEST_P(QpackEncoderTest, Empty) {
   spdy::SpdyHeaderBlock header_list;
-  QuicString output = Encode(&header_list);
+  std::string output = Encode(&header_list);
 
   EXPECT_EQ(QuicTextUtils::HexDecode("0000"), output);
 }
@@ -52,7 +52,7 @@
 TEST_P(QpackEncoderTest, EmptyName) {
   spdy::SpdyHeaderBlock header_list;
   header_list[""] = "foo";
-  QuicString output = Encode(&header_list);
+  std::string output = Encode(&header_list);
 
   EXPECT_EQ(QuicTextUtils::HexDecode("0000208294e7"), output);
 }
@@ -60,7 +60,7 @@
 TEST_P(QpackEncoderTest, EmptyValue) {
   spdy::SpdyHeaderBlock header_list;
   header_list["foo"] = "";
-  QuicString output = Encode(&header_list);
+  std::string output = Encode(&header_list);
 
   EXPECT_EQ(QuicTextUtils::HexDecode("00002a94e700"), output);
 }
@@ -68,7 +68,7 @@
 TEST_P(QpackEncoderTest, EmptyNameAndValue) {
   spdy::SpdyHeaderBlock header_list;
   header_list[""] = "";
-  QuicString output = Encode(&header_list);
+  std::string output = Encode(&header_list);
 
   EXPECT_EQ(QuicTextUtils::HexDecode("00002000"), output);
 }
@@ -76,7 +76,7 @@
 TEST_P(QpackEncoderTest, Simple) {
   spdy::SpdyHeaderBlock header_list;
   header_list["foo"] = "bar";
-  QuicString output = Encode(&header_list);
+  std::string output = Encode(&header_list);
 
   EXPECT_EQ(QuicTextUtils::HexDecode("00002a94e703626172"), output);
 }
@@ -85,8 +85,8 @@
   spdy::SpdyHeaderBlock header_list;
   header_list["foo"] = "bar";
   // 'Z' would be Huffman encoded to 8 bits, so no Huffman encoding is used.
-  header_list["ZZZZZZZ"] = QuicString(127, 'Z');
-  QuicString output = Encode(&header_list);
+  header_list["ZZZZZZZ"] = std::string(127, 'Z');
+  std::string output = Encode(&header_list);
 
   EXPECT_EQ(
       QuicTextUtils::HexDecode(
@@ -110,7 +110,7 @@
     header_list["accept-encoding"] = "gzip, deflate, br";
     header_list["location"] = "";
 
-    QuicString output = Encode(&header_list);
+    std::string output = Encode(&header_list);
     EXPECT_EQ(QuicTextUtils::HexDecode("0000d1dfcc"), output);
   }
   {
@@ -119,7 +119,7 @@
     header_list["accept-encoding"] = "compress";
     header_list["location"] = "foo";
 
-    QuicString output = Encode(&header_list);
+    std::string output = Encode(&header_list);
     EXPECT_EQ(QuicTextUtils::HexDecode("0000d45f108621e9aec2a11f5c8294e7"),
               output);
   }
@@ -128,7 +128,7 @@
     header_list[":method"] = "TRACE";
     header_list["accept-encoding"] = "";
 
-    QuicString output = Encode(&header_list);
+    std::string output = Encode(&header_list);
     EXPECT_EQ(QuicTextUtils::HexDecode("00005f000554524143455f1000"), output);
   }
 }
@@ -145,7 +145,7 @@
 
   // This indexed header field takes exactly three bytes:
   // two for the prefix, one for the indexed static entry.
-  QuicString output;
+  std::string output;
   progressive_encoder->Next(3, &output);
 
   EXPECT_EQ(QuicTextUtils::HexDecode("0000c1"), output);
diff --git a/quic/core/qpack/qpack_encoder_test_utils.cc b/quic/core/qpack/qpack_encoder_test_utils.cc
index b9a3263..dd1ccb3 100644
--- a/quic/core/qpack/qpack_encoder_test_utils.cc
+++ b/quic/core/qpack/qpack_encoder_test_utils.cc
@@ -15,7 +15,7 @@
 void NoopEncoderStreamSenderDelegate::WriteEncoderStreamData(
     QuicStringPiece data) {}
 
-QuicString QpackEncode(
+std::string QpackEncode(
     QpackEncoder::DecoderStreamErrorDelegate* decoder_stream_error_delegate,
     QpackEncoderStreamSender::Delegate* encoder_stream_sender_delegate,
     const FragmentSizeGenerator& fragment_size_generator,
@@ -25,7 +25,7 @@
   auto progressive_encoder =
       encoder.EncodeHeaderList(/* stream_id = */ 1, header_list);
 
-  QuicString output;
+  std::string output;
   while (progressive_encoder->HasNext()) {
     progressive_encoder->Next(fragment_size_generator(), &output);
   }
diff --git a/quic/core/qpack/qpack_encoder_test_utils.h b/quic/core/qpack/qpack_encoder_test_utils.h
index 03d05cb..cb27ab5 100644
--- a/quic/core/qpack/qpack_encoder_test_utils.h
+++ b/quic/core/qpack/qpack_encoder_test_utils.h
@@ -51,7 +51,7 @@
   MOCK_METHOD1(WriteEncoderStreamData, void(QuicStringPiece data));
 };
 
-QuicString QpackEncode(
+std::string QpackEncode(
     QpackEncoder::DecoderStreamErrorDelegate* decoder_stream_error_delegate,
     QpackEncoderStreamSender::Delegate* encoder_stream_sender_delegate,
     const FragmentSizeGenerator& fragment_size_generator,
diff --git a/quic/core/qpack/qpack_instruction_decoder.cc b/quic/core/qpack/qpack_instruction_decoder.cc
index dbb2076..96d1a61 100644
--- a/quic/core/qpack/qpack_instruction_decoder.cc
+++ b/quic/core/qpack/qpack_instruction_decoder.cc
@@ -228,7 +228,7 @@
     return;
   }
 
-  QuicString* const string =
+  std::string* const string =
       (field_->type == QpackInstructionFieldType::kName) ? &name_ : &value_;
   string->clear();
 
@@ -248,7 +248,7 @@
   DCHECK(field_->type == QpackInstructionFieldType::kName ||
          field_->type == QpackInstructionFieldType::kValue);
 
-  QuicString* const string =
+  std::string* const string =
       (field_->type == QpackInstructionFieldType::kName) ? &name_ : &value_;
   DCHECK_LT(string->size(), string_length_);
 
@@ -267,14 +267,14 @@
   DCHECK(field_->type == QpackInstructionFieldType::kName ||
          field_->type == QpackInstructionFieldType::kValue);
 
-  QuicString* const string =
+  std::string* const string =
       (field_->type == QpackInstructionFieldType::kName) ? &name_ : &value_;
   DCHECK_EQ(string->size(), string_length_);
 
   if (is_huffman_encoded_) {
     huffman_decoder_.Reset();
     // HpackHuffmanDecoder::Decode() cannot perform in-place decoding.
-    QuicString decoded_value;
+    std::string decoded_value;
     huffman_decoder_.Decode(*string, &decoded_value);
     if (!huffman_decoder_.InputProperlyTerminated()) {
       OnError("Error in Huffman-encoded string.");
diff --git a/quic/core/qpack/qpack_instruction_decoder.h b/quic/core/qpack/qpack_instruction_decoder.h
index 9d674c3..49fb0cc 100644
--- a/quic/core/qpack/qpack_instruction_decoder.h
+++ b/quic/core/qpack/qpack_instruction_decoder.h
@@ -61,8 +61,8 @@
   bool s_bit() const { return s_bit_; }
   uint64_t varint() const { return varint_; }
   uint64_t varint2() const { return varint2_; }
-  const QuicString& name() const { return name_; }
-  const QuicString& value() const { return value_; }
+  const std::string& name() const { return name_; }
+  const std::string& value() const { return value_; }
 
  private:
   enum class State {
@@ -114,8 +114,8 @@
   bool s_bit_;
   uint64_t varint_;
   uint64_t varint2_;
-  QuicString name_;
-  QuicString value_;
+  std::string name_;
+  std::string value_;
   // Whether the currently decoded header name or value is Huffman encoded.
   bool is_huffman_encoded_;
   // Length of string being read into |name_| or |value_|.
diff --git a/quic/core/qpack/qpack_instruction_encoder.cc b/quic/core/qpack/qpack_instruction_encoder.cc
index 72aa7fd..ff135bb 100644
--- a/quic/core/qpack/qpack_instruction_encoder.cc
+++ b/quic/core/qpack/qpack_instruction_encoder.cc
@@ -34,7 +34,7 @@
 }
 
 void QpackInstructionEncoder::Next(size_t max_encoded_bytes,
-                                   QuicString* output) {
+                                   std::string* output) {
   DCHECK(HasNext());
   DCHECK_NE(0u, max_encoded_bytes);
 
@@ -108,7 +108,7 @@
 }
 
 size_t QpackInstructionEncoder::DoVarintStart(size_t max_encoded_bytes,
-                                              QuicString* output) {
+                                              std::string* output) {
   DCHECK(field_->type == QpackInstructionFieldType::kVarint ||
          field_->type == QpackInstructionFieldType::kVarint2 ||
          field_->type == QpackInstructionFieldType::kName ||
@@ -149,7 +149,7 @@
 }
 
 size_t QpackInstructionEncoder::DoVarintResume(size_t max_encoded_bytes,
-                                               QuicString* output) {
+                                               std::string* output) {
   DCHECK(field_->type == QpackInstructionFieldType::kVarint ||
          field_->type == QpackInstructionFieldType::kVarint2 ||
          field_->type == QpackInstructionFieldType::kName ||
@@ -195,7 +195,7 @@
 }
 
 size_t QpackInstructionEncoder::DoWriteString(size_t max_encoded_bytes,
-                                              QuicString* output) {
+                                              std::string* output) {
   DCHECK(field_->type == QpackInstructionFieldType::kName ||
          field_->type == QpackInstructionFieldType::kValue);
 
diff --git a/quic/core/qpack/qpack_instruction_encoder.h b/quic/core/qpack/qpack_instruction_encoder.h
index 15d908a..c95ceec 100644
--- a/quic/core/qpack/qpack_instruction_encoder.h
+++ b/quic/core/qpack/qpack_instruction_encoder.h
@@ -45,7 +45,7 @@
   // Encodes the next up to |max_encoded_bytes| octets of the current
   // instruction, appending to |output|.  Must only be called when HasNext()
   // returns true.  |max_encoded_bytes| must be positive.
-  void Next(size_t max_encoded_bytes, QuicString* output);
+  void Next(size_t max_encoded_bytes, std::string* output);
 
  private:
   enum class State {
@@ -73,10 +73,10 @@
   void DoOpcode();
   void DoStartField();
   void DoStaticBit();
-  size_t DoVarintStart(size_t max_encoded_bytes, QuicString* output);
-  size_t DoVarintResume(size_t max_encoded_bytes, QuicString* output);
+  size_t DoVarintStart(size_t max_encoded_bytes, std::string* output);
+  size_t DoVarintResume(size_t max_encoded_bytes, std::string* output);
   void DoStartString();
-  size_t DoWriteString(size_t max_encoded_bytes, QuicString* output);
+  size_t DoWriteString(size_t max_encoded_bytes, std::string* output);
 
   // Storage for field values to be encoded.
   bool s_bit_;
@@ -89,7 +89,7 @@
 
   // Storage for the Huffman encoded string literal to be written if Huffman
   // encoding is used.
-  QuicString huffman_encoded_string_;
+  std::string huffman_encoded_string_;
 
   // If Huffman encoding is used, points to a substring of
   // |huffman_encoded_string_|.
diff --git a/quic/core/qpack/qpack_instruction_encoder_test.cc b/quic/core/qpack/qpack_instruction_encoder_test.cc
index 006476f..babbb8c 100644
--- a/quic/core/qpack/qpack_instruction_encoder_test.cc
+++ b/quic/core/qpack/qpack_instruction_encoder_test.cc
@@ -23,12 +23,12 @@
   ~QpackInstructionEncoderTest() override = default;
 
   // Encode |instruction| with fragment sizes dictated by |fragment_mode_|.
-  QuicString EncodeInstruction(const QpackInstruction* instruction) {
+  std::string EncodeInstruction(const QpackInstruction* instruction) {
     EXPECT_FALSE(encoder_.HasNext());
 
     FragmentSizeGenerator fragment_size_generator =
         FragmentModeToFragmentSizeGenerator(fragment_mode_);
-    QuicString output;
+    std::string output;
     encoder_.Encode(instruction);
     while (encoder_.HasNext()) {
       encoder_.Next(fragment_size_generator(), &output);
diff --git a/quic/core/qpack/qpack_progressive_encoder.cc b/quic/core/qpack/qpack_progressive_encoder.cc
index 41433ff..497465b 100644
--- a/quic/core/qpack/qpack_progressive_encoder.cc
+++ b/quic/core/qpack/qpack_progressive_encoder.cc
@@ -37,7 +37,7 @@
 }
 
 void QpackProgressiveEncoder::Next(size_t max_encoded_bytes,
-                                   QuicString* output) {
+                                   std::string* output) {
   DCHECK_NE(0u, max_encoded_bytes);
   DCHECK(HasNext());
 
diff --git a/quic/core/qpack/qpack_progressive_encoder.h b/quic/core/qpack/qpack_progressive_encoder.h
index 86cce55..8e204e2 100644
--- a/quic/core/qpack/qpack_progressive_encoder.h
+++ b/quic/core/qpack/qpack_progressive_encoder.h
@@ -36,7 +36,7 @@
   bool HasNext() const override;
 
   // Encodes up to |max_encoded_bytes| octets, appending to |output|.
-  void Next(size_t max_encoded_bytes, QuicString* output) override;
+  void Next(size_t max_encoded_bytes, std::string* output) override;
 
  private:
   const QuicStreamId stream_id_;
diff --git a/quic/core/qpack/qpack_round_trip_test.cc b/quic/core/qpack/qpack_round_trip_test.cc
index 700ff85..99d55fb 100644
--- a/quic/core/qpack/qpack_round_trip_test.cc
+++ b/quic/core/qpack/qpack_round_trip_test.cc
@@ -32,7 +32,7 @@
       const spdy::SpdyHeaderBlock& header_list) {
     NoopDecoderStreamErrorDelegate decoder_stream_error_delegate;
     NoopEncoderStreamSenderDelegate encoder_stream_sender_delegate;
-    QuicString encoded_header_block = QpackEncode(
+    std::string encoded_header_block = QpackEncode(
         &decoder_stream_error_delegate, &encoder_stream_sender_delegate,
         FragmentModeToFragmentSizeGenerator(encoding_fragment_mode_),
         &header_list);
@@ -90,8 +90,8 @@
   spdy::SpdyHeaderBlock header_list;
   header_list["foo"] = "bar";
   header_list[":path"] = "/";
-  header_list["foobaar"] = QuicString(127, 'Z');
-  header_list[QuicString(1000, 'b')] = QuicString(1000, 'c');
+  header_list["foobaar"] = std::string(127, 'Z');
+  header_list[std::string(1000, 'b')] = std::string(1000, 'c');
 
   spdy::SpdyHeaderBlock output = EncodeThenDecode(header_list);
   EXPECT_EQ(header_list, output);