OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/spdy/spdy_test_util.h" | 5 #include "net/spdy/spdy_test_util.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
(...skipping 868 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
879 memcpy(ptr, frames[i]->data(), len); | 879 memcpy(ptr, frames[i]->data(), len); |
880 ptr += len; | 880 ptr += len; |
881 } | 881 } |
882 return total_len; | 882 return total_len; |
883 } | 883 } |
884 | 884 |
885 SpdySessionDependencies::SpdySessionDependencies() | 885 SpdySessionDependencies::SpdySessionDependencies() |
886 : host_resolver(new MockCachingHostResolver), | 886 : host_resolver(new MockCachingHostResolver), |
887 cert_verifier(new CertVerifier), | 887 cert_verifier(new CertVerifier), |
888 proxy_service(ProxyService::CreateDirect()), | 888 proxy_service(ProxyService::CreateDirect()), |
| 889 spdy_config_service(new SpdyConfigServiceDefaults), |
889 ssl_config_service(new SSLConfigServiceDefaults), | 890 ssl_config_service(new SSLConfigServiceDefaults), |
890 socket_factory(new MockClientSocketFactory), | 891 socket_factory(new MockClientSocketFactory), |
891 deterministic_socket_factory(new DeterministicMockClientSocketFactory), | 892 deterministic_socket_factory(new DeterministicMockClientSocketFactory), |
892 http_auth_handler_factory( | 893 http_auth_handler_factory( |
893 HttpAuthHandlerFactory::CreateDefault(host_resolver.get())) { | 894 HttpAuthHandlerFactory::CreateDefault(host_resolver.get())) { |
894 // Note: The CancelledTransaction test does cleanup by running all | 895 // Note: The CancelledTransaction test does cleanup by running all |
895 // tasks in the message loop (RunAllPending). Unfortunately, that | 896 // tasks in the message loop (RunAllPending). Unfortunately, that |
896 // doesn't clean up tasks on the host resolver thread; and | 897 // doesn't clean up tasks on the host resolver thread; and |
897 // TCPConnectJob is currently not cancellable. Using synchronous | 898 // TCPConnectJob is currently not cancellable. Using synchronous |
898 // lookups allows the test to shutdown cleanly. Until we have | 899 // lookups allows the test to shutdown cleanly. Until we have |
899 // cancellable TCPConnectJobs, use synchronous lookups. | 900 // cancellable TCPConnectJobs, use synchronous lookups. |
900 host_resolver->set_synchronous_mode(true); | 901 host_resolver->set_synchronous_mode(true); |
901 } | 902 } |
902 | 903 |
903 SpdySessionDependencies::SpdySessionDependencies(ProxyService* proxy_service) | 904 SpdySessionDependencies::SpdySessionDependencies(ProxyService* proxy_service) |
904 : host_resolver(new MockHostResolver), | 905 : host_resolver(new MockHostResolver), |
905 cert_verifier(new CertVerifier), | 906 cert_verifier(new CertVerifier), |
906 proxy_service(proxy_service), | 907 proxy_service(proxy_service), |
| 908 spdy_config_service(new SpdyConfigServiceDefaults), |
907 ssl_config_service(new SSLConfigServiceDefaults), | 909 ssl_config_service(new SSLConfigServiceDefaults), |
908 socket_factory(new MockClientSocketFactory), | 910 socket_factory(new MockClientSocketFactory), |
909 deterministic_socket_factory(new DeterministicMockClientSocketFactory), | 911 deterministic_socket_factory(new DeterministicMockClientSocketFactory), |
910 http_auth_handler_factory( | 912 http_auth_handler_factory( |
911 HttpAuthHandlerFactory::CreateDefault(host_resolver.get())) {} | 913 HttpAuthHandlerFactory::CreateDefault(host_resolver.get())) {} |
912 | 914 |
913 SpdySessionDependencies::~SpdySessionDependencies() {} | 915 SpdySessionDependencies::~SpdySessionDependencies() {} |
914 | 916 |
915 // static | 917 // static |
916 HttpNetworkSession* SpdySessionDependencies::SpdyCreateSession( | 918 HttpNetworkSession* SpdySessionDependencies::SpdyCreateSession( |
917 SpdySessionDependencies* session_deps) { | 919 SpdySessionDependencies* session_deps) { |
918 net::HttpNetworkSession::Params params; | 920 net::HttpNetworkSession::Params params; |
919 params.client_socket_factory = session_deps->socket_factory.get(); | 921 params.client_socket_factory = session_deps->socket_factory.get(); |
920 params.host_resolver = session_deps->host_resolver.get(); | 922 params.host_resolver = session_deps->host_resolver.get(); |
921 params.cert_verifier = session_deps->cert_verifier.get(); | 923 params.cert_verifier = session_deps->cert_verifier.get(); |
922 params.proxy_service = session_deps->proxy_service.get(); | 924 params.proxy_service = session_deps->proxy_service.get(); |
| 925 params.spdy_config_service = session_deps->spdy_config_service; |
923 params.ssl_config_service = session_deps->ssl_config_service; | 926 params.ssl_config_service = session_deps->ssl_config_service; |
924 params.http_auth_handler_factory = | 927 params.http_auth_handler_factory = |
925 session_deps->http_auth_handler_factory.get(); | 928 session_deps->http_auth_handler_factory.get(); |
926 return new HttpNetworkSession(params); | 929 return new HttpNetworkSession(params); |
927 } | 930 } |
928 | 931 |
929 // static | 932 // static |
930 HttpNetworkSession* SpdySessionDependencies::SpdyCreateSessionDeterministic( | 933 HttpNetworkSession* SpdySessionDependencies::SpdyCreateSessionDeterministic( |
931 SpdySessionDependencies* session_deps) { | 934 SpdySessionDependencies* session_deps) { |
932 net::HttpNetworkSession::Params params; | 935 net::HttpNetworkSession::Params params; |
933 params.client_socket_factory = | 936 params.client_socket_factory = |
934 session_deps->deterministic_socket_factory.get(); | 937 session_deps->deterministic_socket_factory.get(); |
935 params.host_resolver = session_deps->host_resolver.get(); | 938 params.host_resolver = session_deps->host_resolver.get(); |
936 params.cert_verifier = session_deps->cert_verifier.get(); | 939 params.cert_verifier = session_deps->cert_verifier.get(); |
937 params.proxy_service = session_deps->proxy_service.get(); | 940 params.proxy_service = session_deps->proxy_service.get(); |
| 941 params.spdy_config_service = session_deps->spdy_config_service; |
938 params.ssl_config_service = session_deps->ssl_config_service; | 942 params.ssl_config_service = session_deps->ssl_config_service; |
939 params.http_auth_handler_factory = | 943 params.http_auth_handler_factory = |
940 session_deps->http_auth_handler_factory.get(); | 944 session_deps->http_auth_handler_factory.get(); |
941 return new HttpNetworkSession(params); | 945 return new HttpNetworkSession(params); |
942 } | 946 } |
943 | 947 |
944 SpdyURLRequestContext::SpdyURLRequestContext() | 948 SpdyURLRequestContext::SpdyURLRequestContext() |
945 : ALLOW_THIS_IN_INITIALIZER_LIST(storage_(this)) { | 949 : ALLOW_THIS_IN_INITIALIZER_LIST(storage_(this)) { |
946 storage_.set_host_resolver(new MockHostResolver()); | 950 storage_.set_host_resolver(new MockHostResolver()); |
947 storage_.set_cert_verifier(new CertVerifier); | 951 storage_.set_cert_verifier(new CertVerifier); |
948 storage_.set_proxy_service(ProxyService::CreateDirect()); | 952 storage_.set_proxy_service(ProxyService::CreateDirect()); |
| 953 storage_.set_spdy_config_service(new SpdyConfigServiceDefaults); |
949 storage_.set_ssl_config_service(new SSLConfigServiceDefaults); | 954 storage_.set_ssl_config_service(new SSLConfigServiceDefaults); |
950 storage_.set_http_auth_handler_factory(HttpAuthHandlerFactory::CreateDefault( | 955 storage_.set_http_auth_handler_factory(HttpAuthHandlerFactory::CreateDefault( |
951 host_resolver())); | 956 host_resolver())); |
952 net::HttpNetworkSession::Params params; | 957 net::HttpNetworkSession::Params params; |
953 params.client_socket_factory = &socket_factory_; | 958 params.client_socket_factory = &socket_factory_; |
954 params.host_resolver = host_resolver(); | 959 params.host_resolver = host_resolver(); |
955 params.cert_verifier = cert_verifier(); | 960 params.cert_verifier = cert_verifier(); |
956 params.proxy_service = proxy_service(); | 961 params.proxy_service = proxy_service(); |
| 962 params.spdy_config_service = spdy_config_service(); |
957 params.ssl_config_service = ssl_config_service(); | 963 params.ssl_config_service = ssl_config_service(); |
958 params.http_auth_handler_factory = http_auth_handler_factory(); | 964 params.http_auth_handler_factory = http_auth_handler_factory(); |
959 params.network_delegate = network_delegate(); | 965 params.network_delegate = network_delegate(); |
960 scoped_refptr<HttpNetworkSession> network_session( | 966 scoped_refptr<HttpNetworkSession> network_session( |
961 new HttpNetworkSession(params)); | 967 new HttpNetworkSession(params)); |
962 storage_.set_http_transaction_factory(new HttpCache( | 968 storage_.set_http_transaction_factory(new HttpCache( |
963 network_session, | 969 network_session, |
964 HttpCache::DefaultBackend::InMemory(0))); | 970 HttpCache::DefaultBackend::InMemory(0))); |
965 } | 971 } |
966 | 972 |
967 SpdyURLRequestContext::~SpdyURLRequestContext() { | 973 SpdyURLRequestContext::~SpdyURLRequestContext() { |
968 } | 974 } |
969 | 975 |
970 const SpdyHeaderInfo MakeSpdyHeader(spdy::SpdyControlType type) { | 976 const SpdyHeaderInfo MakeSpdyHeader(spdy::SpdyControlType type) { |
971 const SpdyHeaderInfo kHeader = { | 977 const SpdyHeaderInfo kHeader = { |
972 type, // Kind = Syn | 978 type, // Kind = Syn |
973 1, // Stream ID | 979 1, // Stream ID |
974 0, // Associated stream ID | 980 0, // Associated stream ID |
975 2, // Priority | 981 2, // Priority |
976 spdy::CONTROL_FLAG_FIN, // Control Flags | 982 spdy::CONTROL_FLAG_FIN, // Control Flags |
977 false, // Compressed | 983 false, // Compressed |
978 spdy::INVALID, // Status | 984 spdy::INVALID, // Status |
979 NULL, // Data | 985 NULL, // Data |
980 0, // Length | 986 0, // Length |
981 spdy::DATA_FLAG_NONE // Data Flags | 987 spdy::DATA_FLAG_NONE // Data Flags |
982 }; | 988 }; |
983 return kHeader; | 989 return kHeader; |
984 } | 990 } |
985 } // namespace net | 991 } // namespace net |
OLD | NEW |