Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1931)

Unified Diff: net/quic/test_tools/quic_test_utils.h

Issue 1975483003: Fixes use-after-free bug in QUIC. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2704
Patch Set: Removes use of QuicHeaderList from merge CL. Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/quic/test_tools/quic_session_peer.cc ('k') | net/quic/test_tools/quic_test_utils.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/test_tools/quic_test_utils.h
diff --git a/net/quic/test_tools/quic_test_utils.h b/net/quic/test_tools/quic_test_utils.h
index 87889f7ebce05da93abedd6ba9a10b423aef6d6c..2f2def36b04b7b917bf929d8e2f7b170760eb166 100644
--- a/net/quic/test_tools/quic_test_utils.h
+++ b/net/quic/test_tools/quic_test_utils.h
@@ -451,6 +451,60 @@ class PacketSavingConnection : public MockConnection {
DISALLOW_COPY_AND_ASSIGN(PacketSavingConnection);
};
+class MockQuicSession : public QuicSession {
+ public:
+ explicit MockQuicSession(QuicConnection* connection);
+ ~MockQuicSession() override;
+
+ QuicCryptoStream* GetCryptoStream() override { return crypto_stream_.get(); }
+
+ MOCK_METHOD3(OnConnectionClosed,
+ void(QuicErrorCode error,
+ const std::string& error_details,
+ ConnectionCloseSource source));
+ MOCK_METHOD1(CreateIncomingDynamicStream,
+ ReliableQuicStream*(QuicStreamId id));
+ MOCK_METHOD1(CreateOutgoingDynamicStream,
+ ReliableQuicStream*(SpdyPriority priority));
+ MOCK_METHOD1(ShouldCreateIncomingDynamicStream, bool(QuicStreamId id));
+ MOCK_METHOD0(ShouldCreateOutgoingDynamicStream, bool());
+ MOCK_METHOD5(WritevData,
+ QuicConsumedData(QuicStreamId id,
+ QuicIOVector data,
+ QuicStreamOffset offset,
+ bool fin,
+ QuicAckListenerInterface*));
+
+ MOCK_METHOD3(SendRstStream,
+ void(QuicStreamId stream_id,
+ QuicRstStreamErrorCode error,
+ QuicStreamOffset bytes_written));
+
+ MOCK_METHOD2(OnStreamHeaders,
+ void(QuicStreamId stream_id, base::StringPiece headers_data));
+ MOCK_METHOD2(OnStreamHeadersPriority,
+ void(QuicStreamId stream_id, SpdyPriority priority));
+ MOCK_METHOD3(OnStreamHeadersComplete,
+ void(QuicStreamId stream_id, bool fin, size_t frame_len));
+ MOCK_METHOD0(IsCryptoHandshakeConfirmed, bool());
+
+ using QuicSession::ActivateStream;
+
+ // Returns a QuicConsumedData that indicates all of |data| (and |fin| if set)
+ // has been consumed.
+ static QuicConsumedData ConsumeAllData(
+ QuicStreamId id,
+ const QuicIOVector& data,
+ QuicStreamOffset offset,
+ bool fin,
+ QuicAckListenerInterface* ack_notifier_delegate);
+
+ private:
+ std::unique_ptr<QuicCryptoStream> crypto_stream_;
+
+ DISALLOW_COPY_AND_ASSIGN(MockQuicSession);
+};
+
class MockQuicSpdySession : public QuicSpdySession {
public:
explicit MockQuicSpdySession(QuicConnection* connection);
« no previous file with comments | « net/quic/test_tools/quic_session_peer.cc ('k') | net/quic/test_tools/quic_test_utils.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698