| OLD | NEW | 
|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #ifndef NET_PROXY_PROXY_SERVICE_MOJO_H_ | 5 #ifndef NET_PROXY_PROXY_SERVICE_MOJO_H_ | 
| 6 #define NET_PROXY_PROXY_SERVICE_MOJO_H_ | 6 #define NET_PROXY_PROXY_SERVICE_MOJO_H_ | 
| 7 | 7 | 
| 8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" | 
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" | 
| 10 #include "net/proxy/dhcp_proxy_script_fetcher.h" | 10 #include "net/proxy/dhcp_proxy_script_fetcher.h" | 
| 11 | 11 | 
| 12 namespace net { | 12 namespace net { | 
| 13 namespace interfaces { | 13 namespace interfaces { | 
| 14 class ProxyResolverFactory; | 14 class ProxyResolverFactory; | 
| 15 } | 15 } | 
| 16 | 16 | 
| 17 class HostResolver; | 17 class HostResolver; | 
| 18 class MojoProxyResolverFactory; | 18 class MojoProxyResolverFactory; | 
| 19 class NetLog; | 19 class NetLog; | 
| 20 class NetworkDelegate; | 20 class NetworkDelegate; | 
| 21 class ProxyConfigService; | 21 class ProxyConfigService; | 
| 22 class ProxyScriptFetcher; | 22 class ProxyScriptFetcher; | 
| 23 class ProxyService; | 23 class ProxyService; | 
| 24 | 24 | 
| 25 // Creates a proxy service that uses |mojo_proxy_factory| to create and connect | 25 // Creates a proxy service that uses |mojo_proxy_factory| to create and connect | 
| 26 // to a Mojo proxy resolver service. This proxy service polls | 26 // to a Mojo proxy resolver service. This proxy service polls | 
| 27 // |proxy_config_service| to notice when the proxy settings change. We take | 27 // |proxy_config_service| to notice when the proxy settings change. | 
| 28 // ownership of |proxy_config_service|. |  | 
| 29 // | 28 // | 
| 30 // |proxy_script_fetcher| specifies the dependency to use for downloading | 29 // |proxy_script_fetcher| specifies the dependency to use for downloading | 
| 31 // any PAC scripts. The resulting ProxyService will take ownership of it. | 30 // any PAC scripts. The resulting ProxyService will take ownership of it. | 
| 32 // | 31 // | 
| 33 // |dhcp_proxy_script_fetcher| specifies the dependency to use for attempting | 32 // |dhcp_proxy_script_fetcher| specifies the dependency to use for attempting | 
| 34 // to retrieve the most appropriate PAC script configured in DHCP. | 33 // to retrieve the most appropriate PAC script configured in DHCP. | 
| 35 // | 34 // | 
| 36 // |host_resolver| points to the host resolving dependency the PAC script | 35 // |host_resolver| points to the host resolving dependency the PAC script | 
| 37 // should use for any DNS queries. It must remain valid throughout the | 36 // should use for any DNS queries. It must remain valid throughout the | 
| 38 // lifetime of the ProxyService. | 37 // lifetime of the ProxyService. | 
| 39 scoped_ptr<ProxyService> CreateProxyServiceUsingMojoFactory( | 38 scoped_ptr<ProxyService> CreateProxyServiceUsingMojoFactory( | 
| 40     MojoProxyResolverFactory* mojo_proxy_factory, | 39     MojoProxyResolverFactory* mojo_proxy_factory, | 
| 41     ProxyConfigService* proxy_config_service, | 40     scoped_ptr<ProxyConfigService> proxy_config_service, | 
| 42     ProxyScriptFetcher* proxy_script_fetcher, | 41     ProxyScriptFetcher* proxy_script_fetcher, | 
| 43     scoped_ptr<DhcpProxyScriptFetcher> dhcp_proxy_script_fetcher, | 42     scoped_ptr<DhcpProxyScriptFetcher> dhcp_proxy_script_fetcher, | 
| 44     HostResolver* host_resolver, | 43     HostResolver* host_resolver, | 
| 45     NetLog* net_log, | 44     NetLog* net_log, | 
| 46     NetworkDelegate* network_delegate); | 45     NetworkDelegate* network_delegate); | 
| 47 | 46 | 
| 48 // Creates a proxy service that connects to an in-process Mojo proxy resolver | 47 // Creates a proxy service that connects to an in-process Mojo proxy resolver | 
| 49 // service. See above for information about other arguments. | 48 // service. See above for information about other arguments. | 
| 50 // | 49 // | 
| 51 // ########################################################################## | 50 // ########################################################################## | 
| 52 // # See the warnings in net/proxy/proxy_resolver_v8.h describing the | 51 // # See the warnings in net/proxy/proxy_resolver_v8.h describing the | 
| 53 // # multi-threading model. In order for this to be safe to use, *ALL* the | 52 // # multi-threading model. In order for this to be safe to use, *ALL* the | 
| 54 // # other V8's running in the process must use v8::Locker. | 53 // # other V8's running in the process must use v8::Locker. | 
| 55 // ########################################################################## | 54 // ########################################################################## | 
| 56 scoped_ptr<ProxyService> CreateProxyServiceUsingMojoInProcess( | 55 scoped_ptr<ProxyService> CreateProxyServiceUsingMojoInProcess( | 
| 57     ProxyConfigService* proxy_config_service, | 56     scoped_ptr<ProxyConfigService> proxy_config_service, | 
| 58     ProxyScriptFetcher* proxy_script_fetcher, | 57     ProxyScriptFetcher* proxy_script_fetcher, | 
| 59     scoped_ptr<DhcpProxyScriptFetcher> dhcp_proxy_script_fetcher, | 58     scoped_ptr<DhcpProxyScriptFetcher> dhcp_proxy_script_fetcher, | 
| 60     HostResolver* host_resolver, | 59     HostResolver* host_resolver, | 
| 61     NetLog* net_log, | 60     NetLog* net_log, | 
| 62     NetworkDelegate* network_delegate); | 61     NetworkDelegate* network_delegate); | 
| 63 | 62 | 
| 64 }  // namespace net | 63 }  // namespace net | 
| 65 | 64 | 
| 66 #endif  // NET_PROXY_PROXY_SERVICE_MOJO_H_ | 65 #endif  // NET_PROXY_PROXY_SERVICE_MOJO_H_ | 
| OLD | NEW | 
|---|