| Index: net/quic/quic_headers_stream_test.cc
|
| diff --git a/net/quic/quic_headers_stream_test.cc b/net/quic/quic_headers_stream_test.cc
|
| index 2d0b7d8b2f5290403dc834e917b02e2030b9ff42..2a606856bb04e37f6c473cdde096f700a35b283e 100644
|
| --- a/net/quic/quic_headers_stream_test.cc
|
| +++ b/net/quic/quic_headers_stream_test.cc
|
| @@ -233,7 +233,8 @@ class QuicHeadersStreamTest : public ::testing::TestWithParam<TestParams> {
|
| EXPECT_CALL(session_, WritevData(headers_stream_, kHeadersStreamId, _, _,
|
| false, nullptr))
|
| .WillOnce(WithArgs<2>(Invoke(this, &QuicHeadersStreamTest::SaveIov)));
|
| - headers_stream_->WriteHeaders(stream_id, headers_, fin, priority, nullptr);
|
| + headers_stream_->WriteHeaders(stream_id, headers_.Clone(), fin, priority,
|
| + nullptr);
|
|
|
| // Parse the outgoing data and check that it matches was was written.
|
| if (type == SYN_STREAM) {
|
| @@ -339,8 +340,8 @@ TEST_P(QuicHeadersStreamTest, WritePushPromises) {
|
| EXPECT_CALL(session_, WritevData(headers_stream_, kHeadersStreamId, _, _,
|
| false, nullptr))
|
| .WillOnce(WithArgs<2>(Invoke(this, &QuicHeadersStreamTest::SaveIov)));
|
| - headers_stream_->WritePushPromise(stream_id, promised_stream_id, headers_,
|
| - nullptr);
|
| + headers_stream_->WritePushPromise(stream_id, promised_stream_id,
|
| + headers_.Clone(), nullptr);
|
|
|
| // Parse the outgoing data and check that it matches was was written.
|
| EXPECT_CALL(visitor_,
|
| @@ -355,9 +356,10 @@ TEST_P(QuicHeadersStreamTest, WritePushPromises) {
|
| CheckHeaders();
|
| saved_data_.clear();
|
| } else {
|
| - EXPECT_DFATAL(headers_stream_->WritePushPromise(
|
| - stream_id, promised_stream_id, headers_, nullptr),
|
| - "Client shouldn't send PUSH_PROMISE");
|
| + EXPECT_DFATAL(
|
| + headers_stream_->WritePushPromise(stream_id, promised_stream_id,
|
| + headers_.Clone(), nullptr),
|
| + "Client shouldn't send PUSH_PROMISE");
|
| }
|
| }
|
| }
|
| @@ -370,14 +372,14 @@ TEST_P(QuicHeadersStreamTest, ProcessRawData) {
|
| // Replace with "WriteHeadersAndSaveData"
|
| SpdySerializedFrame frame;
|
| if (perspective() == Perspective::IS_SERVER) {
|
| - SpdyHeadersIR headers_frame(stream_id, headers_);
|
| + SpdyHeadersIR headers_frame(stream_id, headers_.Clone());
|
| headers_frame.set_fin(fin);
|
| headers_frame.set_has_priority(true);
|
| headers_frame.set_weight(Spdy3PriorityToHttp2Weight(0));
|
| frame = framer_->SerializeFrame(headers_frame);
|
| EXPECT_CALL(session_, OnStreamHeadersPriority(stream_id, 0));
|
| } else {
|
| - SpdyHeadersIR headers_frame(stream_id, headers_);
|
| + SpdyHeadersIR headers_frame(stream_id, headers_.Clone());
|
| headers_frame.set_fin(fin);
|
| frame = framer_->SerializeFrame(headers_frame);
|
| }
|
| @@ -400,7 +402,8 @@ TEST_P(QuicHeadersStreamTest, ProcessPushPromise) {
|
| for (QuicStreamId stream_id = kClientDataStreamId1;
|
| stream_id < kClientDataStreamId3; stream_id += 2) {
|
| QuicStreamId promised_stream_id = NextPromisedStreamId();
|
| - SpdyPushPromiseIR push_promise(stream_id, promised_stream_id, headers_);
|
| + SpdyPushPromiseIR push_promise(stream_id, promised_stream_id,
|
| + headers_.Clone());
|
| SpdySerializedFrame frame(framer_->SerializeFrame(push_promise));
|
| if (perspective() == Perspective::IS_SERVER) {
|
| EXPECT_CALL(*connection_,
|
| @@ -436,14 +439,14 @@ TEST_P(QuicHeadersStreamTest, EmptyHeaderHOLBlockedTime) {
|
| // Replace with "WriteHeadersAndSaveData"
|
| SpdySerializedFrame frame;
|
| if (perspective() == Perspective::IS_SERVER) {
|
| - SpdyHeadersIR headers_frame(stream_id, headers_);
|
| + SpdyHeadersIR headers_frame(stream_id, headers_.Clone());
|
| headers_frame.set_fin(fin);
|
| headers_frame.set_has_priority(true);
|
| headers_frame.set_weight(Spdy3PriorityToHttp2Weight(0));
|
| frame = framer_->SerializeFrame(headers_frame);
|
| EXPECT_CALL(session_, OnStreamHeadersPriority(stream_id, 0));
|
| } else {
|
| - SpdyHeadersIR headers_frame(stream_id, headers_);
|
| + SpdyHeadersIR headers_frame(stream_id, headers_.Clone());
|
| headers_frame.set_fin(fin);
|
| frame = framer_->SerializeFrame(headers_frame);
|
| }
|
| @@ -471,14 +474,14 @@ TEST_P(QuicHeadersStreamTest, NonEmptyHeaderHOLBlockedTime) {
|
| for (int stream_num = 0; stream_num < 10; ++stream_num) {
|
| stream_id = QuicClientDataStreamId(stream_num);
|
| if (perspective() == Perspective::IS_SERVER) {
|
| - SpdyHeadersIR headers_frame(stream_id, headers_);
|
| + SpdyHeadersIR headers_frame(stream_id, headers_.Clone());
|
| headers_frame.set_fin(fin);
|
| headers_frame.set_has_priority(true);
|
| headers_frame.set_weight(Spdy3PriorityToHttp2Weight(0));
|
| frames[stream_num] = framer_->SerializeFrame(headers_frame);
|
| EXPECT_CALL(session_, OnStreamHeadersPriority(stream_id, 0)).Times(1);
|
| } else {
|
| - SpdyHeadersIR headers_frame(stream_id, headers_);
|
| + SpdyHeadersIR headers_frame(stream_id, headers_.Clone());
|
| headers_frame.set_fin(fin);
|
| frames[stream_num] = framer_->SerializeFrame(headers_frame);
|
| }
|
| @@ -518,14 +521,14 @@ TEST_P(QuicHeadersStreamTest, ProcessLargeRawData) {
|
| // Replace with "WriteHeadersAndSaveData"
|
| SpdySerializedFrame frame;
|
| if (perspective() == Perspective::IS_SERVER) {
|
| - SpdyHeadersIR headers_frame(stream_id, headers_);
|
| + SpdyHeadersIR headers_frame(stream_id, headers_.Clone());
|
| headers_frame.set_fin(fin);
|
| headers_frame.set_has_priority(true);
|
| headers_frame.set_weight(Spdy3PriorityToHttp2Weight(0));
|
| frame = framer_->SerializeFrame(headers_frame);
|
| EXPECT_CALL(session_, OnStreamHeadersPriority(stream_id, 0));
|
| } else {
|
| - SpdyHeadersIR headers_frame(stream_id, headers_);
|
| + SpdyHeadersIR headers_frame(stream_id, headers_.Clone());
|
| headers_frame.set_fin(fin);
|
| frame = framer_->SerializeFrame(headers_frame);
|
| }
|
| @@ -723,14 +726,14 @@ TEST_P(QuicHeadersStreamTest, HpackDecoderDebugVisitor) {
|
| // Replace with "WriteHeadersAndSaveData"
|
| SpdySerializedFrame frame;
|
| if (perspective() == Perspective::IS_SERVER) {
|
| - SpdyHeadersIR headers_frame(stream_id, headers_);
|
| + SpdyHeadersIR headers_frame(stream_id, headers_.Clone());
|
| headers_frame.set_fin(fin);
|
| headers_frame.set_has_priority(true);
|
| headers_frame.set_weight(Spdy3PriorityToHttp2Weight(0));
|
| frame = framer_->SerializeFrame(headers_frame);
|
| EXPECT_CALL(session_, OnStreamHeadersPriority(stream_id, 0));
|
| } else {
|
| - SpdyHeadersIR headers_frame(stream_id, headers_);
|
| + SpdyHeadersIR headers_frame(stream_id, headers_.Clone());
|
| headers_frame.set_fin(fin);
|
| frame = framer_->SerializeFrame(headers_frame);
|
| }
|
|
|