// 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. #ifndef CONTENT_SHELL_SHELL_URL_REQUEST_CONTEXT_GETTER_H_ #define CONTENT_SHELL_SHELL_URL_REQUEST_CONTEXT_GETTER_H_ #include "base/compiler_specific.h" #include "base/file_path.h" #include "base/memory/ref_counted.h" #include "base/memory/scoped_ptr.h" #include "net/url_request/url_request_context_getter.h" class MessageLoop; namespace net { class HostResolver; class MappedHostResolver; class NetworkDelegate; class ProxyConfigService; class URLRequestContextStorage; } namespace content { class ShellURLRequestContextGetter : public net::URLRequestContextGetter { public: ShellURLRequestContextGetter( bool ignore_certificate_errors, const FilePath& base_path, MessageLoop* io_loop, MessageLoop* file_loop); // net::URLRequestContextGetter implementation. virtual net::URLRequestContext* GetURLRequestContext() OVERRIDE; virtual scoped_refptr GetNetworkTaskRunner() const OVERRIDE; net::HostResolver* host_resolver(); protected: virtual ~ShellURLRequestContextGetter(); private: bool ignore_certificate_errors_; FilePath base_path_; MessageLoop* io_loop_; MessageLoop* file_loop_; scoped_ptr proxy_config_service_; scoped_ptr network_delegate_; scoped_ptr storage_; scoped_ptr url_request_context_; scoped_ptr mapped_host_resolver_; DISALLOW_COPY_AND_ASSIGN(ShellURLRequestContextGetter); }; } // namespace content #endif // CONTENT_SHELL_SHELL_URL_REQUEST_CONTEXT_GETTER_H_