| Index: components/cronet/android/url_request_context_adapter.cc
|
| diff --git a/components/cronet/android/url_request_context_adapter.cc b/components/cronet/android/url_request_context_adapter.cc
|
| index 58abcb027b31d7804fa7027991083da257ab129b..678aedd86f880e708dc3169153256a5c5aa34172 100644
|
| --- a/components/cronet/android/url_request_context_adapter.cc
|
| +++ b/components/cronet/android/url_request_context_adapter.cc
|
| @@ -134,17 +134,38 @@ void URLRequestContextAdapter::InitRequestContextOnMainThread() {
|
| this));
|
| }
|
|
|
| +void URLRequestContextAdapter::SetMockCertVerifierForTesting(
|
| + net::CertVerifier* cert_verifier) {
|
| + DCHECK(!GetNetworkTaskRunner()->BelongsToCurrentThread());
|
| + // Not using RunTaskAfterContextInitOnNetworkThread so verifier can be set
|
| + // before the context is initialized.
|
| + GetNetworkTaskRunner()->PostTask(
|
| + FROM_HERE, base::Bind(&URLRequestContextAdapter::
|
| + SetMockCertVerifierForTestingOnNetworkThread,
|
| + base::Unretained(this), cert_verifier));
|
| +}
|
| +
|
| +void URLRequestContextAdapter::SetMockCertVerifierForTestingOnNetworkThread(
|
| + net::CertVerifier* cert_verifier) {
|
| + DCHECK(GetNetworkTaskRunner()->BelongsToCurrentThread());
|
| + DCHECK(!context_builder_);
|
| +
|
| + context_builder_.reset(new net::URLRequestContextBuilder);
|
| + context_builder_->set_cert_verifier(cert_verifier);
|
| +}
|
| +
|
| void URLRequestContextAdapter::InitRequestContextOnNetworkThread() {
|
| DCHECK(GetNetworkTaskRunner()->BelongsToCurrentThread());
|
| DCHECK(config_);
|
| // TODO(mmenke): Add method to have the builder enable SPDY.
|
| - net::URLRequestContextBuilder context_builder;
|
| - context_builder.set_network_delegate(
|
| + if (!context_builder_)
|
| + context_builder_.reset(new net::URLRequestContextBuilder());
|
| + context_builder_->set_network_delegate(
|
| make_scoped_ptr(new BasicNetworkDelegate()));
|
| - context_builder.set_proxy_config_service(proxy_config_service_.Pass());
|
| - config_->ConfigureURLRequestContextBuilder(&context_builder);
|
| + context_builder_->set_proxy_config_service(proxy_config_service_.Pass());
|
| + config_->ConfigureURLRequestContextBuilder(context_builder_.get());
|
|
|
| - context_ = context_builder.Build().Pass();
|
| + context_ = context_builder_->Build().Pass();
|
|
|
| if (config_->enable_sdch) {
|
| DCHECK(context_->sdch_manager());
|
|
|