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

Unified Diff: components/cronet/android/cronet_url_request_context_adapter.cc

Issue 1389213003: [Cronet] Use Https for Quic Test Server (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ryancl
Patch Set: Adopt suggestion Created 5 years, 2 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
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..7ab58ec81c9b1ab9ead851dde0e7d7ae1feb3042 100644
--- a/components/cronet/android/cronet_url_request_context_adapter.cc
+++ b/components/cronet/android/cronet_url_request_context_adapter.cc
@@ -27,6 +27,7 @@
#include "net/base/load_flags.h"
#include "net/base/net_errors.h"
#include "net/base/network_delegate_impl.h"
+#include "net/cert/cert_verifier.h"
#include "net/http/http_auth_handler_factory.h"
#include "net/http/http_server_properties_manager.h"
#include "net/log/write_to_file_net_log_observer.h"
@@ -238,6 +239,30 @@ void CronetURLRequestContextAdapter::ProvideThroughputObservations(
base::Unretained(this), should));
}
+void CronetURLRequestContextAdapter::SetMockCertVerifierForTesting(
+ JNIEnv* env,
+ jobject jcaller,
+ jlong jmock_verifier) {
+ DCHECK(!GetNetworkTaskRunner()->BelongsToCurrentThread());
+ // Not using RunTaskAfterContextInitOnNetworkThread so verifier can be set
+ // before the context is initialized.
+ GetNetworkTaskRunner()->PostTask(
+ FROM_HERE, base::Bind(&CronetURLRequestContextAdapter::
+ SetMockCertVerifierForTestingOnNetworkThread,
+ base::Unretained(this), jmock_verifier));
+}
+
+void CronetURLRequestContextAdapter::
+ SetMockCertVerifierForTestingOnNetworkThread(jlong jmock_verifier) {
+ DCHECK(GetNetworkTaskRunner()->BelongsToCurrentThread());
+ DCHECK(!context_builder_);
+
+ context_builder_.reset(new net::URLRequestContextBuilder);
+ net::CertVerifier* cert_verifier =
+ reinterpret_cast<net::CertVerifier*>(jmock_verifier);
+ context_builder_->set_cert_verifier(cert_verifier);
+}
+
void CronetURLRequestContextAdapter::InitializeOnNetworkThread(
scoped_ptr<URLRequestContextConfig> config,
const base::android::ScopedJavaGlobalRef<jobject>&
@@ -246,7 +271,8 @@ void CronetURLRequestContextAdapter::InitializeOnNetworkThread(
DCHECK(!is_context_initialized_);
DCHECK(proxy_config_service_);
// TODO(mmenke): Add method to have the builder enable SPDY.
- net::URLRequestContextBuilder context_builder;
+ if (!context_builder_)
+ context_builder_.reset(new net::URLRequestContextBuilder());
net_log_.reset(new net::NetLog);
scoped_ptr<net::NetworkDelegate> network_delegate(new BasicNetworkDelegate());
@@ -264,19 +290,19 @@ void CronetURLRequestContextAdapter::InitializeOnNetworkThread(
data_reduction_proxy_->CreateNetworkDelegate(network_delegate.Pass());
ScopedVector<net::URLRequestInterceptor> interceptors;
interceptors.push_back(data_reduction_proxy_->CreateInterceptor());
- context_builder.SetInterceptors(interceptors.Pass());
+ context_builder_->SetInterceptors(interceptors.Pass());
}
#endif // defined(DATA_REDUCTION_PROXY_SUPPORT)
- context_builder.set_network_delegate(network_delegate.Pass());
- context_builder.set_net_log(net_log_.get());
+ context_builder_->set_network_delegate(network_delegate.Pass());
+ context_builder_->set_net_log(net_log_.get());
// Android provides a local HTTP proxy server that handles proxying when a PAC
// URL is present. Create a proxy service without a resolver and rely on this
// local HTTP proxy. See: crbug.com/432539.
- context_builder.set_proxy_service(
+ context_builder_->set_proxy_service(
net::ProxyService::CreateWithoutProxyResolver(
proxy_config_service_.Pass(), net_log_.get()));
- config->ConfigureURLRequestContextBuilder(&context_builder);
+ config->ConfigureURLRequestContextBuilder(context_builder_.get());
// Set up pref file if storage path is specified.
if (!config->storage_path.empty()) {
@@ -284,7 +310,7 @@ void CronetURLRequestContextAdapter::InitializeOnNetworkThread(
filepath = filepath.Append(FILE_PATH_LITERAL("local_prefs.json"));
json_pref_store_ = new JsonPrefStore(
filepath, GetFileThread()->task_runner(), scoped_ptr<PrefFilter>());
- context_builder.SetFileTaskRunner(GetFileThread()->task_runner());
+ context_builder_->SetFileTaskRunner(GetFileThread()->task_runner());
// Set up HttpServerPropertiesManager.
base::PrefServiceFactory factory;
@@ -300,11 +326,11 @@ void CronetURLRequestContextAdapter::InitializeOnNetworkThread(
GetNetworkTaskRunner()));
http_server_properties_manager->InitializeOnNetworkThread();
http_server_properties_manager_ = http_server_properties_manager.get();
- context_builder.SetHttpServerProperties(
+ context_builder_->SetHttpServerProperties(
http_server_properties_manager.Pass());
}
- context_ = context_builder.Build().Pass();
+ context_ = context_builder_->Build().Pass();
default_load_flags_ = net::LOAD_DO_NOT_SAVE_COOKIES |
net::LOAD_DO_NOT_SEND_COOKIES;

Powered by Google App Engine
This is Rietveld 408576698