| Index: components/cronet/android/cronet_url_request_context_adapter.cc
|
| diff --git a/components/cronet/android/cronet_url_request_context_adapter.cc b/components/cronet/android/cronet_url_request_context_adapter.cc
|
| index 29e9c8b01b92c6afb014dd92a6e3bab25d5f1984..bb121cca4a5247093e7d3ed2af245d9bc480d5a9 100644
|
| --- a/components/cronet/android/cronet_url_request_context_adapter.cc
|
| +++ b/components/cronet/android/cronet_url_request_context_adapter.cc
|
| @@ -41,6 +41,14 @@
|
| #include "components/cronet/android/cronet_data_reduction_proxy.h"
|
| #endif
|
|
|
| +#if defined(CRONET_TEST)
|
| +#include "net/base/test_data_directory.h"
|
| +#include "net/cert/cert_verifier.h"
|
| +#include "net/cert/cert_verify_result.h"
|
| +#include "net/cert/mock_cert_verifier.h"
|
| +#include "net/test/cert_test_util.h"
|
| +#endif
|
| +
|
| namespace {
|
|
|
| const char kHttpServerProperties[] = "net.http_server_properties";
|
| @@ -278,6 +286,10 @@ void CronetURLRequestContextAdapter::InitializeOnNetworkThread(
|
| proxy_config_service_.Pass(), net_log_.get()));
|
| config->ConfigureURLRequestContextBuilder(&context_builder);
|
|
|
| +#if defined(CRONET_TEST)
|
| + ConfigureURLRequestContextBuilderForTesting(config.get(), &context_builder);
|
| +#endif
|
| +
|
| // Set up pref file if storage path is specified.
|
| if (!config->storage_path.empty()) {
|
| base::FilePath filepath(config->storage_path);
|
| @@ -504,6 +516,30 @@ void CronetURLRequestContextAdapter::OnThroughputObservation(
|
| (timestamp - base::TimeTicks::UnixEpoch()).InMilliseconds(), source);
|
| }
|
|
|
| +#if defined(CRONET_TEST)
|
| +void CronetURLRequestContextAdapter::
|
| + ConfigureURLRequestContextBuilderForTesting(
|
| + URLRequestContextConfig* config,
|
| + net::URLRequestContextBuilder* builder) {
|
| + DCHECK(GetNetworkTaskRunner()->BelongsToCurrentThread());
|
| + DCHECK(!mock_cert_verifier_);
|
| +
|
| + if (config->mock_certs_for_testing.empty())
|
| + return;
|
| +
|
| + base::StringTokenizer tokens(config->mock_certs_for_testing, ",");
|
| + mock_cert_verifier_.reset(new net::MockCertVerifier());
|
| + while (tokens.GetNext()) {
|
| + net::CertVerifyResult verify_result;
|
| + verify_result.verified_cert =
|
| + net::ImportCertFromFile(net::GetTestCertsDirectory(), tokens.token());
|
| + mock_cert_verifier_->AddResultForCert(verify_result.verified_cert.get(),
|
| + verify_result, net::OK);
|
| + }
|
| + builder->set_cert_verifier(mock_cert_verifier_.get());
|
| +}
|
| +#endif
|
| +
|
| // Creates RequestContextAdater if config is valid URLRequestContextConfig,
|
| // returns 0 otherwise.
|
| static jlong CreateRequestContextAdapter(JNIEnv* env,
|
|
|