| Index: net/proxy/mojo_proxy_resolver_factory_impl.cc
|
| diff --git a/net/proxy/mojo_proxy_resolver_factory_impl.cc b/net/proxy/mojo_proxy_resolver_factory_impl.cc
|
| index 4a95aa727a7afa588a293bce1d6d8d0d4b785942..834151e99c9c6912ef8ac3ee22f2611fbca21c2b 100644
|
| --- a/net/proxy/mojo_proxy_resolver_factory_impl.cc
|
| +++ b/net/proxy/mojo_proxy_resolver_factory_impl.cc
|
| @@ -13,7 +13,7 @@
|
| #include "net/proxy/proxy_resolver_error_observer_mojo.h"
|
| #include "net/proxy/proxy_resolver_factory.h"
|
| #include "net/proxy/proxy_resolver_v8.h"
|
| -#include "net/proxy/proxy_resolver_v8_tracing.h"
|
| +#include "net/proxy/proxy_resolver_v8_tracing_wrapper.h"
|
| #include "third_party/mojo/src/mojo/public/cpp/bindings/error_handler.h"
|
|
|
| namespace net {
|
| @@ -26,38 +26,12 @@ scoped_ptr<ProxyResolverErrorObserver> ReturnErrorObserver(
|
|
|
| scoped_ptr<ProxyResolverFactory> CreateDefaultProxyResolver(
|
| HostResolver* host_resolver,
|
| - scoped_ptr<ProxyResolverErrorObserver> error_observer,
|
| - const ProxyResolver::LoadStateChangedCallback& callback) {
|
| - return make_scoped_ptr(new ProxyResolverFactoryV8Tracing(
|
| - host_resolver, nullptr, callback,
|
| + scoped_ptr<ProxyResolverErrorObserver> error_observer) {
|
| + return make_scoped_ptr(new ProxyResolverFactoryV8TracingWrapper(
|
| + host_resolver, nullptr,
|
| base::Bind(&ReturnErrorObserver, base::Passed(&error_observer))));
|
| }
|
|
|
| -class LoadStateChangeForwarder
|
| - : public base::RefCounted<LoadStateChangeForwarder> {
|
| - public:
|
| - LoadStateChangeForwarder() = default;
|
| -
|
| - void OnLoadStateChanged(ProxyResolver::RequestHandle request_handle,
|
| - LoadState load_state) const {
|
| - if (!callback_.is_null())
|
| - callback_.Run(request_handle, load_state);
|
| - }
|
| -
|
| - void set_load_state_changed_callback(
|
| - const ProxyResolver::LoadStateChangedCallback& callback) {
|
| - callback_ = callback;
|
| - }
|
| -
|
| - private:
|
| - friend class base::RefCounted<LoadStateChangeForwarder>;
|
| - ~LoadStateChangeForwarder() = default;
|
| -
|
| - ProxyResolver::LoadStateChangedCallback callback_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(LoadStateChangeForwarder);
|
| -};
|
| -
|
| // A class to manage the lifetime of a MojoProxyResolverImpl and a
|
| // HostResolverMojo. An instance will remain while the message pipes for both
|
| // mojo connections remain open.
|
| @@ -66,8 +40,6 @@ class MojoProxyResolverHolder : public mojo::ErrorHandler {
|
| MojoProxyResolverHolder(
|
| scoped_ptr<HostResolverMojo> host_resolver,
|
| scoped_ptr<ProxyResolver> proxy_resolver_impl,
|
| - const scoped_refptr<LoadStateChangeForwarder>&
|
| - load_state_change_forwarder,
|
| mojo::InterfaceRequest<interfaces::ProxyResolver> request);
|
|
|
| private:
|
| @@ -84,13 +56,9 @@ class MojoProxyResolverHolder : public mojo::ErrorHandler {
|
| MojoProxyResolverHolder::MojoProxyResolverHolder(
|
| scoped_ptr<HostResolverMojo> host_resolver,
|
| scoped_ptr<ProxyResolver> proxy_resolver_impl,
|
| - const scoped_refptr<LoadStateChangeForwarder>& load_state_change_forwarder,
|
| mojo::InterfaceRequest<interfaces::ProxyResolver> request)
|
| : host_resolver_(host_resolver.Pass()),
|
| - mojo_proxy_resolver_(
|
| - proxy_resolver_impl.Pass(),
|
| - base::Bind(&LoadStateChangeForwarder::set_load_state_changed_callback,
|
| - load_state_change_forwarder)),
|
| + mojo_proxy_resolver_(proxy_resolver_impl.Pass()),
|
| binding_(&mojo_proxy_resolver_, request.Pass()) {
|
| binding_.set_error_handler(this);
|
| host_resolver_->set_disconnect_callback(base::Bind(
|
| @@ -122,7 +90,6 @@ class MojoProxyResolverFactoryImpl::Job : public mojo::ErrorHandler {
|
|
|
| MojoProxyResolverFactoryImpl* const parent_;
|
| scoped_ptr<HostResolverMojo> host_resolver_;
|
| - scoped_refptr<LoadStateChangeForwarder> load_state_change_forwarder_;
|
| scoped_ptr<ProxyResolver> proxy_resolver_impl_;
|
| mojo::InterfaceRequest<interfaces::ProxyResolver> proxy_request_;
|
| scoped_ptr<net::ProxyResolverFactory> factory_;
|
| @@ -145,13 +112,10 @@ MojoProxyResolverFactoryImpl::Job::Job(
|
| host_resolver.Pass(),
|
| base::Bind(&MojoProxyResolverFactoryImpl::Job::OnConnectionError,
|
| base::Unretained(this)))),
|
| - load_state_change_forwarder_(new LoadStateChangeForwarder),
|
| proxy_request_(request.Pass()),
|
| factory_(proxy_resolver_factory.Run(
|
| host_resolver_.get(),
|
| - ProxyResolverErrorObserverMojo::Create(error_observer.Pass()),
|
| - base::Bind(&LoadStateChangeForwarder::OnLoadStateChanged,
|
| - load_state_change_forwarder_))),
|
| + ProxyResolverErrorObserverMojo::Create(error_observer.Pass()))),
|
| client_ptr_(client.Pass()) {
|
| client_ptr_.set_error_handler(this);
|
| factory_->CreateProxyResolver(
|
| @@ -172,9 +136,9 @@ void MojoProxyResolverFactoryImpl::Job::OnProxyResolverCreated(int error) {
|
| if (error == OK) {
|
| // The MojoProxyResolverHolder will delete itself if either
|
| // |host_resolver_| or |proxy_request_| encounters a connection error.
|
| - new MojoProxyResolverHolder(
|
| - host_resolver_.Pass(), proxy_resolver_impl_.Pass(),
|
| - load_state_change_forwarder_, proxy_request_.Pass());
|
| + new MojoProxyResolverHolder(host_resolver_.Pass(),
|
| + proxy_resolver_impl_.Pass(),
|
| + proxy_request_.Pass());
|
| }
|
| client_ptr_->ReportResult(error);
|
| parent_->RemoveJob(this);
|
|
|