1dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// Use of this source code is governed by a BSD-style license that can be
3dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// found in the LICENSE file.
4dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
5dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "net/url_request/url_request_context_storage.h"
6dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
7dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "base/logging.h"
8dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "net/base/cert_verifier.h"
9dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "net/base/cookie_policy.h"
10dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "net/base/cookie_store.h"
11dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "net/base/dnsrr_resolver.h"
12dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "net/base/host_resolver.h"
13dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "net/base/net_log.h"
14dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "net/base/network_delegate.h"
15dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "net/ftp/ftp_transaction_factory.h"
16dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "net/http/http_auth_handler_factory.h"
17dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "net/http/http_transaction_factory.h"
18dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "net/proxy/proxy_service.h"
19dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "net/url_request/url_request_context.h"
20dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
21dc0f95d653279beabeb9817299e2902918ba123eKristian Monsennamespace net {
22dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
23dc0f95d653279beabeb9817299e2902918ba123eKristian MonsenURLRequestContextStorage::URLRequestContextStorage(URLRequestContext* context)
24dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    : context_(context) {
25dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  DCHECK(context);
26dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen}
27dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
28dc0f95d653279beabeb9817299e2902918ba123eKristian MonsenURLRequestContextStorage::~URLRequestContextStorage() {}
29dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
30dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenvoid URLRequestContextStorage::set_net_log(NetLog* net_log) {
31dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  context_->set_net_log(net_log);
32dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  net_log_.reset(net_log);
33dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen}
34dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
35dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenvoid URLRequestContextStorage::set_host_resolver(HostResolver* host_resolver) {
36dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  context_->set_host_resolver(host_resolver);
37dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  host_resolver_.reset(host_resolver);
38dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen}
39dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
40dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenvoid URLRequestContextStorage::set_cert_verifier(CertVerifier* cert_verifier) {
41dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  context_->set_cert_verifier(cert_verifier);
42dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  cert_verifier_.reset(cert_verifier);
43dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen}
44dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
45dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenvoid URLRequestContextStorage::set_dnsrr_resolver(
46dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    DnsRRResolver* dnsrr_resolver) {
47dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  context_->set_dnsrr_resolver(dnsrr_resolver);
48dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  dnsrr_resolver_.reset(dnsrr_resolver);
49dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen}
50dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
51dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenvoid URLRequestContextStorage::set_dns_cert_checker(
52dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    DnsCertProvenanceChecker* dns_cert_checker) {
53dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  context_->set_dns_cert_checker(dns_cert_checker);
54dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  dns_cert_checker_.reset(dns_cert_checker);
55dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen}
56dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
57dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenvoid URLRequestContextStorage::set_http_auth_handler_factory(
58dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    HttpAuthHandlerFactory* http_auth_handler_factory) {
59dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  context_->set_http_auth_handler_factory(http_auth_handler_factory);
60dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  http_auth_handler_factory_.reset(http_auth_handler_factory);
61dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen}
62dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
63dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenvoid URLRequestContextStorage::set_proxy_service(ProxyService* proxy_service) {
64dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  context_->set_proxy_service(proxy_service);
65dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  proxy_service_ = proxy_service;
66dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen}
67dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
68dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenvoid URLRequestContextStorage::set_ssl_config_service(
69dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    SSLConfigService* ssl_config_service) {
70dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  context_->set_ssl_config_service(ssl_config_service);
71dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  ssl_config_service_ = ssl_config_service;
72dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen}
73dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
74dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenvoid URLRequestContextStorage::set_network_delegate(
75dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    NetworkDelegate* network_delegate) {
76dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  context_->set_network_delegate(network_delegate);
77dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  network_delegate_.reset(network_delegate);
78dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen}
79dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
80dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenvoid URLRequestContextStorage::set_cookie_store(CookieStore* cookie_store) {
81dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  context_->set_cookie_store(cookie_store);
82dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  cookie_store_ = cookie_store;
83dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen}
84dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
85dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenvoid URLRequestContextStorage::set_cookie_policy(CookiePolicy* cookie_policy) {
86dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  context_->set_cookie_policy(cookie_policy);
87dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  cookie_policy_.reset(cookie_policy);
88dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen}
89dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
90dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenvoid URLRequestContextStorage::set_transport_security_state(
91dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    TransportSecurityState* transport_security_state) {
92dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  context_->set_transport_security_state(transport_security_state);
93dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  transport_security_state_ = transport_security_state;
94dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen}
95dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
96dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenvoid URLRequestContextStorage::set_http_transaction_factory(
97dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    HttpTransactionFactory* http_transaction_factory) {
98dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  context_->set_http_transaction_factory(http_transaction_factory);
99dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  http_transaction_factory_.reset(http_transaction_factory);
100dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen}
101dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
102dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenvoid URLRequestContextStorage::set_ftp_transaction_factory(
103dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    FtpTransactionFactory* ftp_transaction_factory) {
104dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  context_->set_ftp_transaction_factory(ftp_transaction_factory);
105dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  ftp_transaction_factory_.reset(ftp_transaction_factory);
106dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen}
107dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
108dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen}  // namespace net
109