| Index: net/proxy/proxy_resolver_mojo_host.h | 
| diff --git a/net/proxy/proxy_resolver_mojo_host.h b/net/proxy/proxy_resolver_mojo_host.h | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..aabc7c63a879252b6d5de802e72b484c38b97c00 | 
| --- /dev/null | 
| +++ b/net/proxy/proxy_resolver_mojo_host.h | 
| @@ -0,0 +1,71 @@ | 
| +// 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 NET_PROXY_PROXY_RESOLVER_MOJO_HOST_H_ | 
| +#define NET_PROXY_PROXY_RESOLVER_MOJO_HOST_H_ | 
| + | 
| +#include "base/logging.h" | 
| +#include "base/memory/ref_counted.h" | 
| +#include "base/strings/string16.h" | 
| +#include "mojo/public/cpp/bindings/interface_impl.h" | 
| +#include "net/base/completion_callback.h" | 
| +#include "net/base/load_states.h" | 
| +#include "net/base/net_export.h" | 
| +#include "net/proxy/proxy_resolver.mojom.h" | 
| +#include "net/proxy/proxy_resolver_script_data.h" | 
| +#include "url/gurl.h" | 
| + | 
| +namespace net { | 
| + | 
| +class BoundNetLog; | 
| +class HostResolverMojo; | 
| +class NetLog; | 
| +class ProxyInfo; | 
| +class ProxyResolver; | 
| +class ProxyResolverErrorObserverMojo; | 
| + | 
| +class NET_EXPORT_PRIVATE ProxyResolverMojoHost | 
| +    : public mojo::InterfaceImpl<proxy::Resolver> { | 
| + public: | 
| +  ProxyResolverMojoHost(scoped_ptr<ProxyResolver> resolver, | 
| +                        scoped_ptr<HostResolverMojo> host_resolver); | 
| + | 
| +  ~ProxyResolverMojoHost() override; | 
| + | 
| +  ProxyResolver* resolver() { return resolver_.get(); } | 
| + | 
| + private: | 
| +  void SetPacScript(const mojo::String& data, | 
| +                    proxy::SetPacScriptClientPtr client) override; | 
| +  void GetProxyForUrl(const mojo::String& url, | 
| +                      proxy::ResolveRequestClientPtr client) override; | 
| + | 
| +  scoped_ptr<ProxyResolver> resolver_; | 
| +  scoped_ptr<HostResolverMojo> host_resolver_; | 
| + | 
| +  base::WeakPtrFactory<ProxyResolverMojoHost> weak_factory_; | 
| + | 
| +  DISALLOW_COPY_AND_ASSIGN(ProxyResolverMojoHost); | 
| +}; | 
| + | 
| +class NET_EXPORT ProxyResolverMojoFactory | 
| +    : public mojo::InterfaceImpl<proxy::ResolverFactory> { | 
| + public: | 
| +  explicit ProxyResolverMojoFactory(NetLog* net_log); | 
| + | 
| +  ~ProxyResolverMojoFactory() override; | 
| + | 
| + private: | 
| +  void CreateResolver(mojo::InterfaceRequest<proxy::Resolver> resolver, | 
| +                      dns::ResolverPtr host_resolver_handle, | 
| +                      proxy::ErrorObserverPtr error_observer_handle) override; | 
| + | 
| +  NetLog* net_log_; | 
| + | 
| +  DISALLOW_COPY_AND_ASSIGN(ProxyResolverMojoFactory); | 
| +}; | 
| + | 
| +}  // namespace net | 
| + | 
| +#endif  // NET_PROXY_PROXY_RESOLVER_MOJO_HOST_H_ | 
|  |