| Index: net/quic/quic_framer_test.cc
|
| diff --git a/net/quic/quic_framer_test.cc b/net/quic/quic_framer_test.cc
|
| index a85ec0a688c6ff8553378919b1bc7f0a62913101..28d96aded724c47d455f1c5b76ff7437c89cbd7f 100644
|
| --- a/net/quic/quic_framer_test.cc
|
| +++ b/net/quic/quic_framer_test.cc
|
| @@ -176,7 +176,6 @@ class TestQuicVisitor : public ::net::QuicFramerVisitorInterface {
|
| STLDeleteElements(&stop_waiting_frames_);
|
| STLDeleteElements(&ping_frames_);
|
| STLDeleteElements(&fec_data_);
|
| - STLDeleteElements(&stream_data_);
|
| }
|
|
|
| void OnError(QuicFramer* f) override {
|
| @@ -224,14 +223,7 @@ class TestQuicVisitor : public ::net::QuicFramerVisitorInterface {
|
|
|
| bool OnStreamFrame(const QuicStreamFrame& frame) override {
|
| ++frame_count_;
|
| - // Save a copy of the data so it is valid after the packet is processed.
|
| - stream_data_.push_back(frame.GetDataAsString());
|
| - QuicStreamFrame stream_frame(frame);
|
| - // Make sure that the stream frame points to this data.
|
| - stream_frame.data.Clear();
|
| - stream_frame.data.Append(const_cast<char*>(stream_data_.back()->data()),
|
| - stream_data_.back()->size());
|
| - stream_frames_.push_back(stream_frame);
|
| + stream_frames_.push_back(new QuicStreamFrame(frame));
|
| return true;
|
| }
|
|
|
| @@ -304,7 +296,7 @@ class TestQuicVisitor : public ::net::QuicFramerVisitorInterface {
|
| scoped_ptr<QuicPacketPublicHeader> public_header_;
|
| scoped_ptr<QuicPublicResetPacket> public_reset_packet_;
|
| scoped_ptr<QuicVersionNegotiationPacket> version_negotiation_packet_;
|
| - vector<QuicStreamFrame> stream_frames_;
|
| + vector<QuicStreamFrame*> stream_frames_;
|
| vector<QuicAckFrame*> ack_frames_;
|
| vector<QuicStopWaitingFrame*> stop_waiting_frames_;
|
| vector<QuicPingFrame*> ping_frames_;
|
| @@ -315,7 +307,6 @@ class TestQuicVisitor : public ::net::QuicFramerVisitorInterface {
|
| QuicGoAwayFrame goaway_frame_;
|
| QuicWindowUpdateFrame window_update_frame_;
|
| QuicBlockedFrame blocked_frame_;
|
| - vector<string*> stream_data_;
|
| };
|
|
|
| class QuicFramerTest : public ::testing::TestWithParam<QuicVersion> {
|
| @@ -415,8 +406,8 @@ class QuicFramerTest : public ::testing::TestWithParam<QuicVersion> {
|
| }
|
|
|
| // Checks if the supplied string matches data in the supplied StreamFrame.
|
| - void CheckStreamFrameData(string str, const QuicStreamFrame& frame) {
|
| - scoped_ptr<string> frame_data(frame.GetDataAsString());
|
| + void CheckStreamFrameData(string str, QuicStreamFrame* frame) {
|
| + scoped_ptr<string> frame_data(frame->GetDataAsString());
|
| EXPECT_EQ(str, *frame_data);
|
| }
|
|
|
| @@ -1274,9 +1265,10 @@ TEST_P(QuicFramerTest, StreamFrame) {
|
| ASSERT_EQ(1u, visitor_.stream_frames_.size());
|
| EXPECT_EQ(0u, visitor_.ack_frames_.size());
|
| EXPECT_EQ(static_cast<uint64>(0x01020304),
|
| - visitor_.stream_frames_[0].stream_id);
|
| - EXPECT_TRUE(visitor_.stream_frames_[0].fin);
|
| - EXPECT_EQ(GG_UINT64_C(0xBA98FEDC32107654), visitor_.stream_frames_[0].offset);
|
| + visitor_.stream_frames_[0]->stream_id);
|
| + EXPECT_TRUE(visitor_.stream_frames_[0]->fin);
|
| + EXPECT_EQ(GG_UINT64_C(0xBA98FEDC32107654),
|
| + visitor_.stream_frames_[0]->offset);
|
| CheckStreamFrameData("hello world!", visitor_.stream_frames_[0]);
|
|
|
| // Now test framing boundaries.
|
| @@ -1320,9 +1312,10 @@ TEST_P(QuicFramerTest, StreamFrame3ByteStreamId) {
|
|
|
| ASSERT_EQ(1u, visitor_.stream_frames_.size());
|
| EXPECT_EQ(0u, visitor_.ack_frames_.size());
|
| - EXPECT_EQ(GG_UINT64_C(0x00020304), visitor_.stream_frames_[0].stream_id);
|
| - EXPECT_TRUE(visitor_.stream_frames_[0].fin);
|
| - EXPECT_EQ(GG_UINT64_C(0xBA98FEDC32107654), visitor_.stream_frames_[0].offset);
|
| + EXPECT_EQ(GG_UINT64_C(0x00020304), visitor_.stream_frames_[0]->stream_id);
|
| + EXPECT_TRUE(visitor_.stream_frames_[0]->fin);
|
| + EXPECT_EQ(GG_UINT64_C(0xBA98FEDC32107654),
|
| + visitor_.stream_frames_[0]->offset);
|
| CheckStreamFrameData("hello world!", visitor_.stream_frames_[0]);
|
|
|
| // Now test framing boundaries.
|
| @@ -1368,9 +1361,10 @@ TEST_P(QuicFramerTest, StreamFrame2ByteStreamId) {
|
| ASSERT_EQ(1u, visitor_.stream_frames_.size());
|
| EXPECT_EQ(0u, visitor_.ack_frames_.size());
|
| EXPECT_EQ(static_cast<uint64>(0x00000304),
|
| - visitor_.stream_frames_[0].stream_id);
|
| - EXPECT_TRUE(visitor_.stream_frames_[0].fin);
|
| - EXPECT_EQ(GG_UINT64_C(0xBA98FEDC32107654), visitor_.stream_frames_[0].offset);
|
| + visitor_.stream_frames_[0]->stream_id);
|
| + EXPECT_TRUE(visitor_.stream_frames_[0]->fin);
|
| + EXPECT_EQ(GG_UINT64_C(0xBA98FEDC32107654),
|
| + visitor_.stream_frames_[0]->offset);
|
| CheckStreamFrameData("hello world!", visitor_.stream_frames_[0]);
|
|
|
| // Now test framing boundaries.
|
| @@ -1416,9 +1410,10 @@ TEST_P(QuicFramerTest, StreamFrame1ByteStreamId) {
|
| ASSERT_EQ(1u, visitor_.stream_frames_.size());
|
| EXPECT_EQ(0u, visitor_.ack_frames_.size());
|
| EXPECT_EQ(static_cast<uint64>(0x00000004),
|
| - visitor_.stream_frames_[0].stream_id);
|
| - EXPECT_TRUE(visitor_.stream_frames_[0].fin);
|
| - EXPECT_EQ(GG_UINT64_C(0xBA98FEDC32107654), visitor_.stream_frames_[0].offset);
|
| + visitor_.stream_frames_[0]->stream_id);
|
| + EXPECT_TRUE(visitor_.stream_frames_[0]->fin);
|
| + EXPECT_EQ(GG_UINT64_C(0xBA98FEDC32107654),
|
| + visitor_.stream_frames_[0]->offset);
|
| CheckStreamFrameData("hello world!", visitor_.stream_frames_[0]);
|
|
|
| // Now test framing boundaries.
|
| @@ -1468,9 +1463,10 @@ TEST_P(QuicFramerTest, StreamFrameWithVersion) {
|
| ASSERT_EQ(1u, visitor_.stream_frames_.size());
|
| EXPECT_EQ(0u, visitor_.ack_frames_.size());
|
| EXPECT_EQ(static_cast<uint64>(0x01020304),
|
| - visitor_.stream_frames_[0].stream_id);
|
| - EXPECT_TRUE(visitor_.stream_frames_[0].fin);
|
| - EXPECT_EQ(GG_UINT64_C(0xBA98FEDC32107654), visitor_.stream_frames_[0].offset);
|
| + visitor_.stream_frames_[0]->stream_id);
|
| + EXPECT_TRUE(visitor_.stream_frames_[0]->fin);
|
| + EXPECT_EQ(GG_UINT64_C(0xBA98FEDC32107654),
|
| + visitor_.stream_frames_[0]->offset);
|
| CheckStreamFrameData("hello world!", visitor_.stream_frames_[0]);
|
|
|
| // Now test framing boundaries.
|
| @@ -1586,9 +1582,10 @@ TEST_P(QuicFramerTest, RevivedStreamFrame) {
|
|
|
| ASSERT_EQ(1u, visitor_.stream_frames_.size());
|
| EXPECT_EQ(0u, visitor_.ack_frames_.size());
|
| - EXPECT_EQ(GG_UINT64_C(0x01020304), visitor_.stream_frames_[0].stream_id);
|
| - EXPECT_TRUE(visitor_.stream_frames_[0].fin);
|
| - EXPECT_EQ(GG_UINT64_C(0xBA98FEDC32107654), visitor_.stream_frames_[0].offset);
|
| + EXPECT_EQ(GG_UINT64_C(0x01020304), visitor_.stream_frames_[0]->stream_id);
|
| + EXPECT_TRUE(visitor_.stream_frames_[0]->fin);
|
| + EXPECT_EQ(GG_UINT64_C(0xBA98FEDC32107654),
|
| + visitor_.stream_frames_[0]->offset);
|
| CheckStreamFrameData("hello world!", visitor_.stream_frames_[0]);
|
| }
|
|
|
| @@ -1641,9 +1638,10 @@ TEST_P(QuicFramerTest, StreamFrameInFecGroup) {
|
|
|
| ASSERT_EQ(1u, visitor_.stream_frames_.size());
|
| EXPECT_EQ(0u, visitor_.ack_frames_.size());
|
| - EXPECT_EQ(GG_UINT64_C(0x01020304), visitor_.stream_frames_[0].stream_id);
|
| - EXPECT_TRUE(visitor_.stream_frames_[0].fin);
|
| - EXPECT_EQ(GG_UINT64_C(0xBA98FEDC32107654), visitor_.stream_frames_[0].offset);
|
| + EXPECT_EQ(GG_UINT64_C(0x01020304), visitor_.stream_frames_[0]->stream_id);
|
| + EXPECT_TRUE(visitor_.stream_frames_[0]->fin);
|
| + EXPECT_EQ(GG_UINT64_C(0xBA98FEDC32107654),
|
| + visitor_.stream_frames_[0]->offset);
|
| CheckStreamFrameData("hello world!", visitor_.stream_frames_[0]);
|
| }
|
|
|
|
|