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

Unified Diff: net/url_request/url_request_context_builder.cc

Issue 992733002: Remove //net (except for Android test stuff) and sdch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 9 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: net/url_request/url_request_context_builder.cc
diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/url_request_context_builder.cc
deleted file mode 100644
index 303dd1761bfd0312645c30b2e2733390f233effe..0000000000000000000000000000000000000000
--- a/net/url_request/url_request_context_builder.cc
+++ /dev/null
@@ -1,419 +0,0 @@
-// 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_builder.h"
-
-#include <string>
-
-#include "base/basictypes.h"
-#include "base/compiler_specific.h"
-#include "base/logging.h"
-#include "base/strings/string_util.h"
-#include "base/thread_task_runner_handle.h"
-#include "base/threading/thread.h"
-#include "net/base/cache_type.h"
-#include "net/base/net_errors.h"
-#include "net/base/network_delegate_impl.h"
-#include "net/cert/cert_verifier.h"
-#include "net/cookies/cookie_monster.h"
-#include "net/dns/host_resolver.h"
-#include "net/ftp/ftp_network_layer.h"
-#include "net/http/http_auth_handler_factory.h"
-#include "net/http/http_cache.h"
-#include "net/http/http_network_layer.h"
-#include "net/http/http_network_session.h"
-#include "net/http/http_server_properties_impl.h"
-#include "net/http/transport_security_persister.h"
-#include "net/http/transport_security_state.h"
-#include "net/ssl/channel_id_service.h"
-#include "net/ssl/default_channel_id_store.h"
-#include "net/ssl/ssl_config_service_defaults.h"
-#include "net/url_request/data_protocol_handler.h"
-#include "net/url_request/static_http_user_agent_settings.h"
-#include "net/url_request/url_request_context.h"
-#include "net/url_request/url_request_context_storage.h"
-#include "net/url_request/url_request_job_factory_impl.h"
-#include "net/url_request/url_request_throttler_manager.h"
-
-#if !defined(DISABLE_FILE_SUPPORT)
-#include "net/url_request/file_protocol_handler.h"
-#endif
-
-#if !defined(DISABLE_FTP_SUPPORT)
-#include "net/url_request/ftp_protocol_handler.h"
-#endif
-
-namespace net {
-
-namespace {
-
-class BasicNetworkDelegate : public NetworkDelegateImpl {
- public:
- BasicNetworkDelegate() {}
- ~BasicNetworkDelegate() override {}
-
- private:
- int OnBeforeURLRequest(URLRequest* request,
- const CompletionCallback& callback,
- GURL* new_url) override {
- return OK;
- }
-
- int OnBeforeSendHeaders(URLRequest* request,
- const CompletionCallback& callback,
- HttpRequestHeaders* headers) override {
- return OK;
- }
-
- void OnSendHeaders(URLRequest* request,
- const HttpRequestHeaders& headers) override {}
-
- int OnHeadersReceived(
- URLRequest* request,
- const CompletionCallback& callback,
- const HttpResponseHeaders* original_response_headers,
- scoped_refptr<HttpResponseHeaders>* override_response_headers,
- GURL* allowed_unsafe_redirect_url) override {
- return OK;
- }
-
- void OnBeforeRedirect(URLRequest* request,
- const GURL& new_location) override {}
-
- void OnResponseStarted(URLRequest* request) override {}
-
- void OnRawBytesRead(const URLRequest& request, int bytes_read) override {}
-
- void OnCompleted(URLRequest* request, bool started) override {}
-
- void OnURLRequestDestroyed(URLRequest* request) override {}
-
- void OnPACScriptError(int line_number, const base::string16& error) override {
- }
-
- NetworkDelegate::AuthRequiredResponse OnAuthRequired(
- URLRequest* request,
- const AuthChallengeInfo& auth_info,
- const AuthCallback& callback,
- AuthCredentials* credentials) override {
- return NetworkDelegate::AUTH_REQUIRED_RESPONSE_NO_ACTION;
- }
-
- bool OnCanGetCookies(const URLRequest& request,
- const CookieList& cookie_list) override {
- return true;
- }
-
- bool OnCanSetCookie(const URLRequest& request,
- const std::string& cookie_line,
- CookieOptions* options) override {
- return true;
- }
-
- bool OnCanAccessFile(const net::URLRequest& request,
- const base::FilePath& path) const override {
- return true;
- }
-
- bool OnCanThrottleRequest(const URLRequest& request) const override {
- // Returning true will only enable throttling if there's also a
- // URLRequestThrottlerManager, which there isn't, by default.
- return true;
- }
-
- DISALLOW_COPY_AND_ASSIGN(BasicNetworkDelegate);
-};
-
-class BasicURLRequestContext : public URLRequestContext {
- public:
- BasicURLRequestContext()
- : storage_(this) {}
-
- URLRequestContextStorage* storage() {
- return &storage_;
- }
-
- base::Thread* GetCacheThread() {
- if (!cache_thread_) {
- cache_thread_.reset(new base::Thread("Network Cache Thread"));
- cache_thread_->StartWithOptions(
- base::Thread::Options(base::MessageLoop::TYPE_IO, 0));
- }
- return cache_thread_.get();
- }
-
- base::Thread* GetFileThread() {
- if (!file_thread_) {
- file_thread_.reset(new base::Thread("Network File Thread"));
- file_thread_->StartWithOptions(
- base::Thread::Options(base::MessageLoop::TYPE_DEFAULT, 0));
- }
- return file_thread_.get();
- }
-
- void set_transport_security_persister(
- scoped_ptr<TransportSecurityPersister> transport_security_persister) {
- transport_security_persister = transport_security_persister.Pass();
- }
-
- protected:
- ~BasicURLRequestContext() override { AssertNoURLRequests(); }
-
- private:
- // Threads should be torn down last.
- scoped_ptr<base::Thread> cache_thread_;
- scoped_ptr<base::Thread> file_thread_;
-
- URLRequestContextStorage storage_;
- scoped_ptr<TransportSecurityPersister> transport_security_persister_;
-
- DISALLOW_COPY_AND_ASSIGN(BasicURLRequestContext);
-};
-
-} // namespace
-
-URLRequestContextBuilder::HttpCacheParams::HttpCacheParams()
- : type(IN_MEMORY),
- max_size(0) {}
-URLRequestContextBuilder::HttpCacheParams::~HttpCacheParams() {}
-
-URLRequestContextBuilder::HttpNetworkSessionParams::HttpNetworkSessionParams()
- : ignore_certificate_errors(false),
- host_mapping_rules(NULL),
- testing_fixed_http_port(0),
- testing_fixed_https_port(0),
- next_protos(NextProtosDefaults()),
- use_alternate_protocols(true),
- enable_quic(false) {
-}
-
-URLRequestContextBuilder::HttpNetworkSessionParams::~HttpNetworkSessionParams()
-{}
-
-URLRequestContextBuilder::SchemeFactory::SchemeFactory(
- const std::string& auth_scheme,
- net::HttpAuthHandlerFactory* auth_handler_factory)
- : scheme(auth_scheme), factory(auth_handler_factory) {
-}
-
-URLRequestContextBuilder::SchemeFactory::~SchemeFactory() {
-}
-
-URLRequestContextBuilder::URLRequestContextBuilder()
- : data_enabled_(false),
-#if !defined(DISABLE_FILE_SUPPORT)
- file_enabled_(false),
-#endif
-#if !defined(DISABLE_FTP_SUPPORT)
- ftp_enabled_(false),
-#endif
- http_cache_enabled_(true),
- throttling_enabled_(false) {
-}
-
-URLRequestContextBuilder::~URLRequestContextBuilder() {}
-
-void URLRequestContextBuilder::EnableHttpCache(const HttpCacheParams& params) {
- http_cache_enabled_ = true;
- http_cache_params_ = params;
-}
-
-void URLRequestContextBuilder::DisableHttpCache() {
- http_cache_enabled_ = false;
- http_cache_params_ = HttpCacheParams();
-}
-
-void URLRequestContextBuilder::SetSpdyAndQuicEnabled(bool spdy_enabled,
- bool quic_enabled) {
- http_network_session_params_.next_protos =
- NextProtosWithSpdyAndQuic(spdy_enabled, quic_enabled);
- http_network_session_params_.enable_quic = quic_enabled;
-}
-
-void URLRequestContextBuilder::SetCookieAndChannelIdStores(
- const scoped_refptr<CookieStore>& cookie_store,
- scoped_ptr<ChannelIDService> channel_id_service) {
- DCHECK(cookie_store);
- cookie_store_ = cookie_store;
- channel_id_service_ = channel_id_service.Pass();
-}
-
-URLRequestContext* URLRequestContextBuilder::Build() {
- BasicURLRequestContext* context = new BasicURLRequestContext;
- URLRequestContextStorage* storage = context->storage();
-
- storage->set_http_user_agent_settings(new StaticHttpUserAgentSettings(
- accept_language_, user_agent_));
-
- if (!network_delegate_)
- network_delegate_.reset(new BasicNetworkDelegate);
- NetworkDelegate* network_delegate = network_delegate_.release();
- storage->set_network_delegate(network_delegate);
-
- if (net_log_) {
- storage->set_net_log(net_log_.release());
- } else {
- storage->set_net_log(new net::NetLog);
- }
-
- if (!host_resolver_) {
- host_resolver_ = net::HostResolver::CreateDefaultResolver(
- context->net_log());
- }
- storage->set_host_resolver(host_resolver_.Pass());
-
- if (!proxy_service_) {
- // TODO(willchan): Switch to using this code when
- // ProxyService::CreateSystemProxyConfigService()'s signature doesn't suck.
- #if defined(OS_LINUX) || defined(OS_ANDROID)
- ProxyConfigService* proxy_config_service = proxy_config_service_.release();
- #else
- ProxyConfigService* proxy_config_service = NULL;
- if (proxy_config_service_) {
- proxy_config_service = proxy_config_service_.release();
- } else {
- proxy_config_service =
- ProxyService::CreateSystemProxyConfigService(
- base::ThreadTaskRunnerHandle::Get().get(),
- context->GetFileThread()->task_runner());
- }
- #endif // defined(OS_LINUX) || defined(OS_ANDROID)
- proxy_service_.reset(
- ProxyService::CreateUsingSystemProxyResolver(
- proxy_config_service,
- 0, // This results in using the default value.
- context->net_log()));
- }
- storage->set_proxy_service(proxy_service_.release());
-
- storage->set_ssl_config_service(new net::SSLConfigServiceDefaults);
- HttpAuthHandlerRegistryFactory* http_auth_handler_registry_factory =
- net::HttpAuthHandlerRegistryFactory::CreateDefault(
- context->host_resolver());
- for (size_t i = 0; i < extra_http_auth_handlers_.size(); ++i) {
- http_auth_handler_registry_factory->RegisterSchemeFactory(
- extra_http_auth_handlers_[i].scheme,
- extra_http_auth_handlers_[i].factory);
- }
- storage->set_http_auth_handler_factory(http_auth_handler_registry_factory);
-
- if (cookie_store_) {
- storage->set_cookie_store(cookie_store_.get());
- storage->set_channel_id_service(channel_id_service_.Pass());
- } else {
- storage->set_cookie_store(new CookieMonster(NULL, NULL));
- // TODO(mmenke): This always creates a file thread, even when it ends up
- // not being used. Consider lazily creating the thread.
- storage->set_channel_id_service(make_scoped_ptr(
- new ChannelIDService(new DefaultChannelIDStore(NULL),
- context->GetFileThread()->message_loop_proxy())));
- }
-
- storage->set_transport_security_state(new net::TransportSecurityState());
- if (!transport_security_persister_path_.empty()) {
- context->set_transport_security_persister(
- make_scoped_ptr<TransportSecurityPersister>(
- new TransportSecurityPersister(
- context->transport_security_state(),
- transport_security_persister_path_,
- context->GetFileThread()->message_loop_proxy(),
- false)));
- }
-
- storage->set_http_server_properties(
- scoped_ptr<net::HttpServerProperties>(
- new net::HttpServerPropertiesImpl()));
- storage->set_cert_verifier(CertVerifier::CreateDefault());
-
- if (throttling_enabled_)
- storage->set_throttler_manager(new URLRequestThrottlerManager());
-
- net::HttpNetworkSession::Params network_session_params;
- network_session_params.host_resolver = context->host_resolver();
- network_session_params.cert_verifier = context->cert_verifier();
- network_session_params.transport_security_state =
- context->transport_security_state();
- network_session_params.proxy_service = context->proxy_service();
- network_session_params.ssl_config_service =
- context->ssl_config_service();
- network_session_params.http_auth_handler_factory =
- context->http_auth_handler_factory();
- network_session_params.network_delegate = network_delegate;
- network_session_params.http_server_properties =
- context->http_server_properties();
- network_session_params.net_log = context->net_log();
-
- network_session_params.ignore_certificate_errors =
- http_network_session_params_.ignore_certificate_errors;
- network_session_params.host_mapping_rules =
- http_network_session_params_.host_mapping_rules;
- network_session_params.testing_fixed_http_port =
- http_network_session_params_.testing_fixed_http_port;
- network_session_params.testing_fixed_https_port =
- http_network_session_params_.testing_fixed_https_port;
- network_session_params.use_alternate_protocols =
- http_network_session_params_.use_alternate_protocols;
- network_session_params.trusted_spdy_proxy =
- http_network_session_params_.trusted_spdy_proxy;
- network_session_params.next_protos = http_network_session_params_.next_protos;
- network_session_params.enable_quic = http_network_session_params_.enable_quic;
- network_session_params.quic_connection_options =
- http_network_session_params_.quic_connection_options;
-
- HttpTransactionFactory* http_transaction_factory = NULL;
- if (http_cache_enabled_) {
- network_session_params.channel_id_service =
- context->channel_id_service();
- HttpCache::BackendFactory* http_cache_backend = NULL;
- if (http_cache_params_.type == HttpCacheParams::DISK) {
- http_cache_backend = new HttpCache::DefaultBackend(
- DISK_CACHE,
- net::CACHE_BACKEND_DEFAULT,
- http_cache_params_.path,
- http_cache_params_.max_size,
- context->GetCacheThread()->task_runner());
- } else {
- http_cache_backend =
- HttpCache::DefaultBackend::InMemory(http_cache_params_.max_size);
- }
-
- http_transaction_factory = new HttpCache(
- network_session_params, http_cache_backend);
- } else {
- scoped_refptr<net::HttpNetworkSession> network_session(
- new net::HttpNetworkSession(network_session_params));
-
- http_transaction_factory = new HttpNetworkLayer(network_session.get());
- }
- storage->set_http_transaction_factory(http_transaction_factory);
-
- URLRequestJobFactoryImpl* job_factory = new URLRequestJobFactoryImpl;
- if (data_enabled_)
- job_factory->SetProtocolHandler("data", new DataProtocolHandler);
-
-#if !defined(DISABLE_FILE_SUPPORT)
- if (file_enabled_) {
- job_factory->SetProtocolHandler(
- "file",
- new FileProtocolHandler(context->GetFileThread()->message_loop_proxy()));
- }
-#endif // !defined(DISABLE_FILE_SUPPORT)
-
-#if !defined(DISABLE_FTP_SUPPORT)
- if (ftp_enabled_) {
- ftp_transaction_factory_.reset(
- new FtpNetworkLayer(context->host_resolver()));
- job_factory->SetProtocolHandler("ftp",
- new FtpProtocolHandler(ftp_transaction_factory_.get()));
- }
-#endif // !defined(DISABLE_FTP_SUPPORT)
-
- storage->set_job_factory(job_factory);
-
- // TODO(willchan): Support sdch.
-
- return context;
-}
-
-} // namespace net
« no previous file with comments | « net/url_request/url_request_context_builder.h ('k') | net/url_request/url_request_context_builder_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698