Chromium Code Reviews| Index: chrome/browser/net/utility_process_mojo_proxy_resolver_factory.h |
| diff --git a/chrome/browser/net/utility_process_mojo_proxy_resolver_factory.h b/chrome/browser/net/utility_process_mojo_proxy_resolver_factory.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..ab48c0b7dc0880a43dccd77c5187982b0aa3e535 |
| --- /dev/null |
| +++ b/chrome/browser/net/utility_process_mojo_proxy_resolver_factory.h |
| @@ -0,0 +1,53 @@ |
| +// Copyright 2015 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 CHROME_BROWSER_NET_UTILITY_PROCESS_MOJO_PROXY_RESOLVER_FACTORY_H_ |
| +#define CHROME_BROWSER_NET_UTILITY_PROCESS_MOJO_PROXY_RESOLVER_FACTORY_H_ |
| + |
| +#include "base/macros.h" |
| +#include "net/proxy/mojo_proxy_resolver_factory.h" |
| + |
| +template <typename Type> |
| +struct DefaultSingletonTraits; |
| + |
| +namespace content { |
| +class UtilityProcessHost; |
| +} |
| + |
| +namespace chrome_browser_net { |
|
Sam McNally
2015/03/09 03:36:15
Remove.
Anand Mistry (off Chromium)
2015/03/10 07:24:23
Done.
|
| + |
| +// A factory used to create connections to Mojo proxy resolver services run in a |
| +// utility process. All Mojo proxy resolver services will be run in the same |
| +// utility process. Utility process crashes are detected and the utility |
|
Sam McNally
2015/03/09 03:36:15
Single space after .
Anand Mistry (off Chromium)
2015/03/10 07:24:23
Done.
|
| +// process is automatically restarted. |
| +class UtilityProcessMojoProxyResolverFactory |
| + : public net::MojoProxyResolverFactory, |
| + public mojo::ErrorHandler { |
| + public: |
| + static UtilityProcessMojoProxyResolverFactory* GetInstance(); |
| + |
| + // Overridden from net::MojoProxyResolverFactory: |
| + void Create(mojo::InterfaceRequest<net::interfaces::ProxyResolver> req, |
| + net::interfaces::HostResolverPtr host_resolver) override; |
| + |
| + private: |
| + friend struct DefaultSingletonTraits<UtilityProcessMojoProxyResolverFactory>; |
| + UtilityProcessMojoProxyResolverFactory(); |
| + ~UtilityProcessMojoProxyResolverFactory() override; |
| + |
| + // Overridden from mojo::ErrorHandler: |
| + void OnConnectionError() override; |
| + |
| + // Creates a new utility process and connects to its Mojo proxy resolver |
| + // factory. |
| + void CreateProcessAndConnect(); |
| + |
| + net::interfaces::ProxyResolverFactoryPtr resolver_factory_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(UtilityProcessMojoProxyResolverFactory); |
| +}; |
| + |
| +} // namespace chrome_browser_net |
| + |
| +#endif // CHROME_BROWSER_NET_UTILITY_PROCESS_MOJO_PROXY_RESOLVER_FACTORY_H_ |