// Copyright (c) 2011 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.h" #include "base/string_util.h" #include "net/base/cookie_store.h" #include "net/base/host_resolver.h" #include "net/ftp/ftp_transaction_factory.h" #include "net/http/http_transaction_factory.h" namespace net { URLRequestContext::URLRequestContext() : is_main_(false), net_log_(NULL), host_resolver_(NULL), cert_verifier_(NULL), dnsrr_resolver_(NULL), dns_cert_checker_(NULL), http_auth_handler_factory_(NULL), network_delegate_(NULL), cookie_policy_(NULL), transport_security_state_(NULL), http_transaction_factory_(NULL), ftp_transaction_factory_(NULL) #ifdef ANDROID , valid_uid_(false), calling_uid_(0) #endif {} void URLRequestContext::CopyFrom(URLRequestContext* other) { // Copy URLRequestContext parameters. // Do not copy is_main_. set_net_log(other->net_log()); set_host_resolver(other->host_resolver()); set_cert_verifier(other->cert_verifier()); set_dnsrr_resolver(other->dnsrr_resolver()); set_dns_cert_checker(other->dns_cert_checker()); set_http_auth_handler_factory(other->http_auth_handler_factory()); set_proxy_service(other->proxy_service()); set_ssl_config_service(other->ssl_config_service()); set_network_delegate(other->network_delegate()); set_cookie_store(other->cookie_store()); set_cookie_policy(other->cookie_policy()); set_transport_security_state(other->transport_security_state()); // FTPAuthCache is unique per context. set_accept_language(other->accept_language()); set_accept_charset(other->accept_charset()); set_referrer_charset(other->referrer_charset()); set_http_transaction_factory(other->http_transaction_factory()); set_ftp_transaction_factory(other->ftp_transaction_factory()); #ifdef ANDROID calling_uid_ = 0; valid_uid_ = other->getUID(&calling_uid_); #endif } void URLRequestContext::set_cookie_store(CookieStore* cookie_store) { cookie_store_ = cookie_store; } const std::string& URLRequestContext::GetUserAgent(const GURL& url) const { return EmptyString(); } bool URLRequestContext::IsSNIAvailable() const { if (!ssl_config_service_) return false; SSLConfig ssl_config; ssl_config_service_->GetSSLConfig(&ssl_config); return ssl_config.tls1_enabled; } #ifdef ANDROID void URLRequestContext::setUID(uid_t uid) { valid_uid_ = true; calling_uid_ = uid; } bool URLRequestContext::getUID(uid_t *uid) const { if (!valid_uid_) { return false; } *uid = calling_uid_; return true; } #endif URLRequestContext::~URLRequestContext() { } } // namespace net