Commit 446c73f7 authored by chkuo's avatar chkuo Committed by Commit Bot

[chromecast] Refactor URLRequestContextFactory to set up the common settings...

[chromecast] Refactor URLRequestContextFactory to set up the common settings for creating URLRequestContext

Most of the settings for creating URLRequestContext are same and
we use same code in different functions. To reduce the redundant
code, we add a helper function called 'ConfigureURLRequestContext'
to setup all configs of URLRequestContext object.

Bug: 921430
Test: NONE
Change-Id: Ifcc1aa197e36ca466f1377db25e233c892cbb764
Reviewed-on: https://chromium-review.googlesource.com/c/1385693
Commit-Queue: Chih-Hsuan Kuo <chkuo@google.com>
Reviewed-by: default avatarLuke Halliwell <halliwell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#626456}
parent 0a788fba
...@@ -335,34 +335,17 @@ void URLRequestContextFactory::PopulateNetworkSessionParams( ...@@ -335,34 +335,17 @@ void URLRequestContextFactory::PopulateNetworkSessionParams(
net::URLRequestContext* URLRequestContextFactory::CreateSystemRequestContext() { net::URLRequestContext* URLRequestContextFactory::CreateSystemRequestContext() {
DCHECK_CURRENTLY_ON(content::BrowserThread::IO); DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
InitializeSystemContextDependencies(); InitializeSystemContextDependencies();
net::HttpNetworkSession::Params session_params;
PopulateNetworkSessionParams(IgnoreCertificateErrors(), &session_params);
system_job_factory_.reset(new net::URLRequestJobFactoryImpl()); system_job_factory_.reset(new net::URLRequestJobFactoryImpl());
system_cookie_store_ = system_cookie_store_ =
content::CreateCookieStore(content::CookieStoreConfig(), net_log_); content::CreateCookieStore(content::CookieStoreConfig(), net_log_);
net::URLRequestContext* system_context = new net::URLRequestContext(); net::URLRequestContext* system_context = new net::URLRequestContext();
system_context->set_host_resolver(host_resolver_.get()); ConfigureURLRequestContext(system_context, system_job_factory_,
system_context->set_channel_id_service(channel_id_service_.get()); system_cookie_store_, system_network_delegate_);
system_context->set_cert_verifier(cert_verifier_.get());
system_context->set_cert_transparency_verifier(
cert_transparency_verifier_.get());
system_context->set_ct_policy_enforcer(ct_policy_enforcer_.get());
system_context->set_proxy_resolution_service(proxy_resolution_service_.get());
system_context->set_ssl_config_service(ssl_config_service_.get());
system_context->set_transport_security_state(
transport_security_state_.get());
system_context->set_http_auth_handler_factory(
http_auth_handler_factory_.get());
system_context->set_http_server_properties(http_server_properties_.get());
system_context->set_http_user_agent_settings(
http_user_agent_settings_.get());
system_context->set_job_factory(system_job_factory_.get());
system_context->set_cookie_store(system_cookie_store_.get());
system_context->set_network_delegate(system_network_delegate_.get());
system_context->set_net_log(net_log_);
net::HttpNetworkSession::Params session_params;
net::HttpNetworkSession::Context session_context; net::HttpNetworkSession::Context session_context;
PopulateNetworkSessionParams(IgnoreCertificateErrors(), &session_params);
net::URLRequestContextBuilder::SetHttpNetworkSessionComponents( net::URLRequestContextBuilder::SetHttpNetworkSessionComponents(
system_context, &session_context); system_context, &session_context);
system_transaction_factory_.reset(new net::HttpNetworkLayer( system_transaction_factory_.reset(new net::HttpNetworkLayer(
...@@ -389,7 +372,7 @@ net::URLRequestContext* URLRequestContextFactory::CreateMediaRequestContext() { ...@@ -389,7 +372,7 @@ net::URLRequestContext* URLRequestContextFactory::CreateMediaRequestContext() {
media_context->CopyFrom(main_context); media_context->CopyFrom(main_context);
media_context->set_http_transaction_factory( media_context->set_http_transaction_factory(
media_transaction_factory_.get()); media_transaction_factory_.get());
media_context->set_net_log(net_log_);
return media_context; return media_context;
} }
...@@ -399,9 +382,6 @@ net::URLRequestContext* URLRequestContextFactory::CreateMainRequestContext( ...@@ -399,9 +382,6 @@ net::URLRequestContext* URLRequestContextFactory::CreateMainRequestContext(
content::URLRequestInterceptorScopedVector request_interceptors) { content::URLRequestInterceptorScopedVector request_interceptors) {
DCHECK_CURRENTLY_ON(content::BrowserThread::IO); DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
InitializeSystemContextDependencies(); InitializeSystemContextDependencies();
net::HttpNetworkSession::Params session_params;
PopulateNetworkSessionParams(IgnoreCertificateErrors(), &session_params);
InitializeMainContextDependencies( InitializeMainContextDependencies(
protocol_handlers, std::move(request_interceptors)); protocol_handlers, std::move(request_interceptors));
...@@ -409,29 +389,12 @@ net::URLRequestContext* URLRequestContextFactory::CreateMainRequestContext( ...@@ -409,29 +389,12 @@ net::URLRequestContext* URLRequestContextFactory::CreateMainRequestContext(
main_cookie_store_ = content::CreateCookieStore(cookie_config, net_log_); main_cookie_store_ = content::CreateCookieStore(cookie_config, net_log_);
net::URLRequestContext* main_context = new net::URLRequestContext(); net::URLRequestContext* main_context = new net::URLRequestContext();
main_context->set_host_resolver(host_resolver_.get()); ConfigureURLRequestContext(main_context, main_job_factory_,
main_context->set_channel_id_service(channel_id_service_.get()); main_cookie_store_, app_network_delegate_);
main_context->set_cert_verifier(cert_verifier_.get());
main_context->set_cert_transparency_verifier(
cert_transparency_verifier_.get());
main_context->set_ct_policy_enforcer(ct_policy_enforcer_.get());
main_context->set_proxy_resolution_service(proxy_resolution_service_.get());
main_context->set_ssl_config_service(ssl_config_service_.get());
main_context->set_transport_security_state(transport_security_state_.get());
main_context->set_http_auth_handler_factory(
http_auth_handler_factory_.get());
main_context->set_http_server_properties(http_server_properties_.get());
main_context->set_cookie_store(main_cookie_store_.get());
main_context->set_http_user_agent_settings(
http_user_agent_settings_.get());
main_context->set_http_transaction_factory(
main_transaction_factory_.get());
main_context->set_job_factory(main_job_factory_.get());
main_context->set_network_delegate(app_network_delegate_.get());
main_context->set_net_log(net_log_);
net::HttpNetworkSession::Params session_params;
net::HttpNetworkSession::Context session_context; net::HttpNetworkSession::Context session_context;
PopulateNetworkSessionParams(IgnoreCertificateErrors(), &session_params);
net::URLRequestContextBuilder::SetHttpNetworkSessionComponents( net::URLRequestContextBuilder::SetHttpNetworkSessionComponents(
main_context, &session_context); main_context, &session_context);
main_transaction_factory_.reset(new net::HttpNetworkLayer( main_transaction_factory_.reset(new net::HttpNetworkLayer(
...@@ -441,6 +404,31 @@ net::URLRequestContext* URLRequestContextFactory::CreateMainRequestContext( ...@@ -441,6 +404,31 @@ net::URLRequestContext* URLRequestContextFactory::CreateMainRequestContext(
return main_context; return main_context;
} }
void URLRequestContextFactory::ConfigureURLRequestContext(
net::URLRequestContext* context,
const std::unique_ptr<net::URLRequestJobFactory>& job_factory,
const std::unique_ptr<net::CookieStore>& cookie_store,
const std::unique_ptr<CastNetworkDelegate>& network_delegate) {
// common settings
context->set_host_resolver(host_resolver_.get());
context->set_channel_id_service(channel_id_service_.get());
context->set_cert_verifier(cert_verifier_.get());
context->set_cert_transparency_verifier(cert_transparency_verifier_.get());
context->set_ct_policy_enforcer(ct_policy_enforcer_.get());
context->set_proxy_resolution_service(proxy_resolution_service_.get());
context->set_ssl_config_service(ssl_config_service_.get());
context->set_transport_security_state(transport_security_state_.get());
context->set_http_auth_handler_factory(http_auth_handler_factory_.get());
context->set_http_server_properties(http_server_properties_.get());
context->set_http_user_agent_settings(http_user_agent_settings_.get());
context->set_net_log(net_log_);
// settings from the caller
context->set_job_factory(job_factory.get());
context->set_cookie_store(cookie_store.get());
context->set_network_delegate(network_delegate.get());
}
void URLRequestContextFactory::InitializeNetworkDelegates() { void URLRequestContextFactory::InitializeNetworkDelegates() {
app_network_delegate_->Initialize(); app_network_delegate_->Initialize();
LOG(INFO) << "Initialized app network delegate."; LOG(INFO) << "Initialized app network delegate.";
......
...@@ -93,6 +93,13 @@ class URLRequestContextFactory { ...@@ -93,6 +93,13 @@ class URLRequestContextFactory {
content::ProtocolHandlerMap* protocol_handlers, content::ProtocolHandlerMap* protocol_handlers,
content::URLRequestInterceptorScopedVector request_interceptors); content::URLRequestInterceptorScopedVector request_interceptors);
// Helper function for configuring the settings of URLRequestContext
void ConfigureURLRequestContext(
net::URLRequestContext* context,
const std::unique_ptr<net::URLRequestJobFactory>& job_factory,
const std::unique_ptr<net::CookieStore>& cookie_store,
const std::unique_ptr<CastNetworkDelegate>& network_delegate);
scoped_refptr<net::URLRequestContextGetter> system_getter_; scoped_refptr<net::URLRequestContextGetter> system_getter_;
scoped_refptr<net::URLRequestContextGetter> media_getter_; scoped_refptr<net::URLRequestContextGetter> media_getter_;
scoped_refptr<net::URLRequestContextGetter> main_getter_; scoped_refptr<net::URLRequestContextGetter> main_getter_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment