| Index: net/spdy/spdy_test_util_spdy3.h
|
| diff --git a/net/spdy/spdy_test_util_spdy3.h b/net/spdy/spdy_test_util_spdy3.h
|
| index d0a806afb8d990ca11fb240e806fc8ce25803384..5103c89883698b66c3a66eb02a070550d4804fd2 100644
|
| --- a/net/spdy/spdy_test_util_spdy3.h
|
| +++ b/net/spdy/spdy_test_util_spdy3.h
|
| @@ -7,6 +7,8 @@
|
|
|
| #include "base/basictypes.h"
|
| #include "base/memory/scoped_ptr.h"
|
| +#include "crypto/ec_private_key.h"
|
| +#include "crypto/ec_signature_creator.h"
|
| #include "net/base/cert_verifier.h"
|
| #include "net/base/host_port_pair.h"
|
| #include "net/base/mock_host_resolver.h"
|
| @@ -20,6 +22,7 @@
|
| #include "net/http/http_transaction_factory.h"
|
| #include "net/proxy/proxy_service.h"
|
| #include "net/socket/socket_test_util.h"
|
| +#include "net/spdy/spdy_session.h"
|
| #include "net/url_request/url_request_context.h"
|
| #include "net/url_request/url_request_context_storage.h"
|
|
|
| @@ -53,6 +56,38 @@ struct SpdyHeaderInfo {
|
| SpdyDataFlags data_flags;
|
| };
|
|
|
| +// An ECSignatureCreator that returns deterministic signatures.
|
| +class MockECSignatureCreator : public crypto::ECSignatureCreator {
|
| + public:
|
| + explicit MockECSignatureCreator(crypto::ECPrivateKey* key);
|
| +
|
| + // crypto::ECSignatureCreator
|
| + virtual bool Sign(const uint8* data,
|
| + int data_len,
|
| + std::vector<uint8>* signature) OVERRIDE;
|
| + virtual bool DecodeSignature(const std::vector<uint8>& signature,
|
| + std::vector<uint8>* out_raw_sig) OVERRIDE;
|
| +
|
| + private:
|
| + crypto::ECPrivateKey* key_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(MockECSignatureCreator);
|
| +};
|
| +
|
| +// An ECSignatureCreatorFactory creates MockECSignatureCreator.
|
| +class MockECSignatureCreatorFactory : public crypto::ECSignatureCreatorFactory {
|
| + public:
|
| + MockECSignatureCreatorFactory();
|
| + virtual ~MockECSignatureCreatorFactory();
|
| +
|
| + // crypto::ECSignatureCreatorFactory
|
| + virtual crypto::ECSignatureCreator* Create(
|
| + crypto::ECPrivateKey* key) OVERRIDE;
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(MockECSignatureCreatorFactory);
|
| +};
|
| +
|
| // Chop a frame into an array of MockWrites.
|
| // |data| is the frame to chop.
|
| // |length| is the length of the frame to chop.
|
| @@ -370,6 +405,11 @@ struct SpdySessionDependencies {
|
| scoped_ptr<DeterministicMockClientSocketFactory> deterministic_socket_factory;
|
| scoped_ptr<HttpAuthHandlerFactory> http_auth_handler_factory;
|
| HttpServerPropertiesImpl http_server_properties;
|
| + bool enable_ip_pooling;
|
| + bool enable_compression;
|
| + bool enable_ping;
|
| + size_t initial_recv_window_size;
|
| + SpdySession::TimeFunc time_func;
|
| std::string trusted_spdy_proxy;
|
| NetLog* net_log;
|
| };
|
| @@ -419,21 +459,6 @@ class SpdySessionPoolPeer {
|
| DISALLOW_COPY_AND_ASSIGN(SpdySessionPoolPeer);
|
| };
|
|
|
| -// Helper to manage the state of a number of SPDY global variables.
|
| -class SpdyTestStateHelper {
|
| - public:
|
| - SpdyTestStateHelper();
|
| - ~SpdyTestStateHelper();
|
| -
|
| - private:
|
| - // In order to make CREDENTIAL frame creation deterministic, we need to
|
| - // use a mock EC signature creator, which needs to live throughout
|
| - // the life of the test.
|
| - scoped_ptr<crypto::ECSignatureCreatorFactory> ec_signature_creator_factory_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(SpdyTestStateHelper);
|
| -};
|
| -
|
| } // namespace test_spdy3
|
|
|
| } // namespace net
|
|
|