| Index: net/proxy/proxy_resolver_mojo.h
|
| diff --git a/net/proxy/proxy_resolver_mojo.h b/net/proxy/proxy_resolver_mojo.h
|
| index 134cbea298a451f936becce6c9a1ae55f767b6c1..ada43527f4f5bdc20cf317f4638a4d2ee233b689 100644
|
| --- a/net/proxy/proxy_resolver_mojo.h
|
| +++ b/net/proxy/proxy_resolver_mojo.h
|
| @@ -7,6 +7,7 @@
|
|
|
| #include <set>
|
|
|
| +#include "base/callback_helpers.h"
|
| #include "base/memory/ref_counted.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/threading/thread_checker.h"
|
| @@ -31,17 +32,23 @@ class MojoProxyResolverFactory;
|
| // Implementation of ProxyResolver that connects to a Mojo service to evaluate
|
| // PAC scripts. This implementation only knows about Mojo services, and
|
| // therefore that service may live in or out of process.
|
| +//
|
| +// This implementation reports disconnections from the Mojo service (i.e. if the
|
| +// service is out-of-process and that process crashes) using the error code
|
| +// ERR_PAC_SCRIPT_TERMINATED.
|
| class ProxyResolverMojo : public ProxyResolver, public mojo::ErrorHandler {
|
| public:
|
| // Constructs a ProxyResolverMojo that connects to a mojo proxy resolver
|
| // implementation using |resolver_ptr|. The implementation uses
|
| // |host_resolver| as the DNS resolver, using |host_resolver_binding| to
|
| - // communicate with it.
|
| + // communicate with it. When deleted, the closure contained within
|
| + // |on_delete_callback_runner| will be run.
|
| // TODO(amistry): Add ProxyResolverErrorObserver and NetLog.
|
| - ProxyResolverMojo(interfaces::ProxyResolverPtr resolver_ptr,
|
| - scoped_ptr<interfaces::HostResolver> host_resolver,
|
| - scoped_ptr<mojo::Binding<interfaces::HostResolver>>
|
| - host_resolver_binding);
|
| + ProxyResolverMojo(
|
| + interfaces::ProxyResolverPtr resolver_ptr,
|
| + scoped_ptr<interfaces::HostResolver> host_resolver,
|
| + scoped_ptr<mojo::Binding<interfaces::HostResolver>> host_resolver_binding,
|
| + scoped_ptr<base::ScopedClosureRunner> on_delete_callback_runner);
|
| ~ProxyResolverMojo() override;
|
|
|
| // ProxyResolver implementation:
|
| @@ -76,6 +83,8 @@ class ProxyResolverMojo : public ProxyResolver, public mojo::ErrorHandler {
|
|
|
| base::ThreadChecker thread_checker_;
|
|
|
| + scoped_ptr<base::ScopedClosureRunner> on_delete_callback_runner_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(ProxyResolverMojo);
|
| };
|
|
|
| @@ -83,8 +92,9 @@ class ProxyResolverMojo : public ProxyResolver, public mojo::ErrorHandler {
|
| // create implementations of a Mojo proxy resolver to back a ProxyResolverMojo.
|
| class ProxyResolverFactoryMojo : public ProxyResolverFactory {
|
| public:
|
| - ProxyResolverFactoryMojo(interfaces::ProxyResolverFactory* mojo_proxy_factory,
|
| + ProxyResolverFactoryMojo(MojoProxyResolverFactory* mojo_proxy_factory,
|
| HostResolver* host_resolver);
|
| + ~ProxyResolverFactoryMojo() override;
|
|
|
| // ProxyResolverFactory override.
|
| int CreateProxyResolver(
|
| @@ -96,7 +106,7 @@ class ProxyResolverFactoryMojo : public ProxyResolverFactory {
|
| private:
|
| class Job;
|
|
|
| - interfaces::ProxyResolverFactory* const mojo_proxy_factory_;
|
| + MojoProxyResolverFactory* const mojo_proxy_factory_;
|
| HostResolver* const host_resolver_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ProxyResolverFactoryMojo);
|
|
|