// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "net/url_request/url_request_context_storage.h" #include #include "base/check.h" #include "net/base/http_user_agent_settings.h" #include "net/base/network_delegate.h" #include "net/base/port_util.h" #include "net/base/proxy_delegate.h" #include "net/cert/cert_verifier.h" #include "net/cert/ct_policy_enforcer.h" #include "net/cert/sct_auditing_delegate.h" #include "net/cookies/cookie_store.h" #include "net/dns/host_resolver.h" #include "net/http/http_auth_handler_factory.h" #include "net/http/http_network_session.h" #include "net/http/http_server_properties.h" #include "net/http/http_transaction_factory.h" #include "net/http/transport_security_state.h" #include "net/proxy_resolution/proxy_resolution_service.h" #include "net/quic/quic_context.h" #include "net/socket/client_socket_factory.h" #include "net/ssl/ssl_config_service.h" #include "net/url_request/url_request_context.h" #include "net/url_request/url_request_job_factory.h" #include "net/url_request/url_request_throttler_manager.h" #if BUILDFLAG(ENABLE_REPORTING) #include "net/network_error_logging/network_error_logging_service.h" #include "net/network_error_logging/persistent_reporting_and_nel_store.h" #include "net/reporting/reporting_service.h" #endif // BUILDFLAG(ENABLE_REPORTING) namespace net { URLRequestContextStorage::URLRequestContextStorage(URLRequestContext* context) : context_(context) { DCHECK(context); } URLRequestContextStorage::~URLRequestContextStorage() = default; void URLRequestContextStorage::set_host_resolver( std::unique_ptr host_resolver) { context_->set_host_resolver(host_resolver.get()); host_resolver_ = std::move(host_resolver); } void URLRequestContextStorage::set_cert_verifier( std::unique_ptr cert_verifier) { context_->set_cert_verifier(cert_verifier.get()); cert_verifier_ = std::move(cert_verifier); } void URLRequestContextStorage::set_http_auth_handler_factory( std::unique_ptr http_auth_handler_factory) { context_->set_http_auth_handler_factory(http_auth_handler_factory.get()); http_auth_handler_factory_ = std::move(http_auth_handler_factory); } void URLRequestContextStorage::set_proxy_delegate( std::unique_ptr proxy_delegate) { context_->set_proxy_delegate(proxy_delegate.get()); proxy_delegate_ = std::move(proxy_delegate); } void URLRequestContextStorage::set_network_delegate( std::unique_ptr network_delegate) { context_->set_network_delegate(network_delegate.get()); network_delegate_ = std::move(network_delegate); } void URLRequestContextStorage::set_proxy_resolution_service( std::unique_ptr proxy_resolution_service) { context_->set_proxy_resolution_service(proxy_resolution_service.get()); proxy_resolution_service_ = std::move(proxy_resolution_service); } void URLRequestContextStorage::set_ssl_config_service( std::unique_ptr ssl_config_service) { context_->set_ssl_config_service(ssl_config_service.get()); ssl_config_service_ = std::move(ssl_config_service); } void URLRequestContextStorage::set_http_server_properties( std::unique_ptr http_server_properties) { context_->set_http_server_properties(http_server_properties.get()); http_server_properties_ = std::move(http_server_properties); } void URLRequestContextStorage::set_cookie_store( std::unique_ptr cookie_store) { context_->set_cookie_store(cookie_store.get()); cookie_store_ = std::move(cookie_store); } void URLRequestContextStorage::set_transport_security_state( std::unique_ptr transport_security_state) { context_->set_transport_security_state(transport_security_state.get()); transport_security_state_ = std::move(transport_security_state); } void URLRequestContextStorage::set_ct_policy_enforcer( std::unique_ptr ct_policy_enforcer) { context_->set_ct_policy_enforcer(ct_policy_enforcer.get()); ct_policy_enforcer_ = std::move(ct_policy_enforcer); } void URLRequestContextStorage::set_sct_auditing_delegate( std::unique_ptr sct_auditing_delegate) { context_->set_sct_auditing_delegate(sct_auditing_delegate.get()); sct_auditing_delegate_ = std::move(sct_auditing_delegate); } void URLRequestContextStorage::set_http_network_session( std::unique_ptr http_network_session) { http_network_session_ = std::move(http_network_session); } void URLRequestContextStorage::set_http_transaction_factory( std::unique_ptr http_transaction_factory) { context_->set_http_transaction_factory(http_transaction_factory.get()); http_transaction_factory_ = std::move(http_transaction_factory); } void URLRequestContextStorage::set_job_factory( std::unique_ptr job_factory) { context_->set_job_factory(job_factory.get()); job_factory_ = std::move(job_factory); } void URLRequestContextStorage::set_throttler_manager( std::unique_ptr throttler_manager) { context_->set_throttler_manager(throttler_manager.get()); throttler_manager_ = std::move(throttler_manager); } void URLRequestContextStorage::set_quic_context( std::unique_ptr quic_context) { context_->set_quic_context(quic_context.get()); quic_context_ = std::move(quic_context); } void URLRequestContextStorage::set_http_user_agent_settings( std::unique_ptr http_user_agent_settings) { context_->set_http_user_agent_settings(http_user_agent_settings.get()); http_user_agent_settings_ = std::move(http_user_agent_settings); } #if BUILDFLAG(ENABLE_REPORTING) void URLRequestContextStorage::set_persistent_reporting_and_nel_store( std::unique_ptr persistent_reporting_and_nel_store) { persistent_reporting_and_nel_store_ = std::move(persistent_reporting_and_nel_store); } void URLRequestContextStorage::set_reporting_service( std::unique_ptr reporting_service) { context_->set_reporting_service(reporting_service.get()); reporting_service_ = std::move(reporting_service); } void URLRequestContextStorage::set_network_error_logging_service( std::unique_ptr network_error_logging_service) { context_->set_network_error_logging_service( network_error_logging_service.get()); network_error_logging_service_ = std::move(network_error_logging_service); } #endif // BUILDFLAG(ENABLE_REPORTING) void URLRequestContextStorage::set_client_socket_factory( std::unique_ptr client_socket_factory) { client_socket_factory_ = std::move(client_socket_factory); } } // namespace net