Depointerizes a member of SpdyContinuationIR.
This class is not used in Chromium outside of QUICHE.
PiperOrigin-RevId: 387836338
diff --git a/spdy/core/spdy_framer.cc b/spdy/core/spdy_framer.cc
index 6677ba6..1b6eb8a 100644
--- a/spdy/core/spdy_framer.cc
+++ b/spdy/core/spdy_framer.cc
@@ -301,9 +301,8 @@
const size_t size_without_block =
is_first_frame_ ? GetFrameSizeSansBlock() : kContinuationFrameMinimumSize;
- auto encoding = std::make_unique<std::string>();
- encoder_->Next(kHttp2MaxControlFrameSendSize - size_without_block,
- encoding.get());
+ std::string encoding;
+ encoder_->Next(kHttp2MaxControlFrameSendSize - size_without_block, &encoding);
has_next_frame_ = encoder_->HasNext();
if (framer_->debug_visitor_ != nullptr) {
@@ -314,14 +313,14 @@
framer_->debug_visitor_->OnSendCompressedFrame(
frame_ir.stream_id(),
is_first_frame_ ? frame_ir.frame_type() : SpdyFrameType::CONTINUATION,
- header_list_size, size_without_block + encoding->size());
+ header_list_size, size_without_block + encoding.size());
}
const size_t free_bytes_before = output->BytesFree();
bool ok = false;
if (is_first_frame_) {
is_first_frame_ = false;
- ok = SerializeGivenEncoding(*encoding, output);
+ ok = SerializeGivenEncoding(encoding, output);
} else {
SpdyContinuationIR continuation_ir(frame_ir.stream_id());
continuation_ir.take_encoding(std::move(encoding));
diff --git a/spdy/core/spdy_framer_test.cc b/spdy/core/spdy_framer_test.cc
index 2f7732b..4f1db21 100644
--- a/spdy/core/spdy_framer_test.cc
+++ b/spdy/core/spdy_framer_test.cc
@@ -1041,8 +1041,7 @@
deframer_.set_visitor(&visitor);
SpdyContinuationIR continuation(/* stream_id = */ 0);
- auto some_nonsense_encoding =
- std::make_unique<std::string>("some nonsense encoding");
+ std::string some_nonsense_encoding = "some nonsense encoding";
continuation.take_encoding(std::move(some_nonsense_encoding));
continuation.set_end_headers(true);
SpdySerializedFrame frame(framer_.SerializeContinuation(continuation));
@@ -2316,10 +2315,10 @@
Http2HeaderBlock header_block;
header_block["bar"] = "foo";
header_block["foo"] = "bar";
- auto buffer = std::make_unique<std::string>();
+ std::string buffer;
HpackEncoder encoder;
encoder.DisableCompression();
- encoder.EncodeHeaderSet(header_block, buffer.get());
+ encoder.EncodeHeaderSet(header_block, &buffer);
SpdyContinuationIR continuation(/* stream_id = */ 42);
continuation.take_encoding(std::move(buffer));
diff --git a/spdy/core/spdy_protocol.cc b/spdy/core/spdy_protocol.cc
index 4bde56a..12a716e 100644
--- a/spdy/core/spdy_protocol.cc
+++ b/spdy/core/spdy_protocol.cc
@@ -446,7 +446,6 @@
SpdyContinuationIR::SpdyContinuationIR(SpdyStreamId stream_id)
: SpdyFrameIR(stream_id), end_headers_(false) {
- encoding_ = std::make_unique<std::string>();
}
SpdyContinuationIR::~SpdyContinuationIR() = default;
diff --git a/spdy/core/spdy_protocol.h b/spdy/core/spdy_protocol.h
index bb85acd..eafb845 100644
--- a/spdy/core/spdy_protocol.h
+++ b/spdy/core/spdy_protocol.h
@@ -827,14 +827,12 @@
bool end_headers() const { return end_headers_; }
void set_end_headers(bool end_headers) { end_headers_ = end_headers; }
- const std::string& encoding() const { return *encoding_; }
- void take_encoding(std::unique_ptr<std::string> encoding) {
- encoding_ = std::move(encoding);
- }
+ const std::string& encoding() const { return encoding_; }
+ void take_encoding(std::string encoding) { encoding_ = std::move(encoding); }
size_t size() const override;
private:
- std::unique_ptr<std::string> encoding_;
+ std::string encoding_;
bool end_headers_;
};