Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(866)

Side by Side Diff: net/proxy/mojo_proxy_resolver_factory_impl.cc

Issue 1126513002: Add ProxyResolverFactoryV8Tracing. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@mojo-proxy-refactor
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 #include "net/proxy/mojo_proxy_resolver_factory_impl.h" 5 #include "net/proxy/mojo_proxy_resolver_factory_impl.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/stl_util.h" 9 #include "base/stl_util.h"
10 #include "net/base/net_errors.h" 10 #include "net/base/net_errors.h"
11 #include "net/dns/host_resolver_mojo.h" 11 #include "net/dns/host_resolver_mojo.h"
12 #include "net/proxy/mojo_proxy_resolver_impl.h" 12 #include "net/proxy/mojo_proxy_resolver_impl.h"
13 #include "net/proxy/proxy_resolver_error_observer.h"
13 #include "net/proxy/proxy_resolver_factory.h" 14 #include "net/proxy/proxy_resolver_factory.h"
14 #include "net/proxy/proxy_resolver_v8.h" 15 #include "net/proxy/proxy_resolver_v8.h"
15 #include "net/proxy/proxy_resolver_v8_tracing.h" 16 #include "net/proxy/proxy_resolver_v8_tracing.h"
16 #include "third_party/mojo/src/mojo/public/cpp/bindings/error_handler.h" 17 #include "third_party/mojo/src/mojo/public/cpp/bindings/error_handler.h"
17 18
18 namespace net { 19 namespace net {
19 namespace { 20 namespace {
20 21
21 class DefaultProxyResolverFactory : public LegacyProxyResolverFactory { 22 class DefaultProxyResolverFactory : public ProxyResolverFactoryV8Tracing {
22 public: 23 public:
23 DefaultProxyResolverFactory( 24 DefaultProxyResolverFactory(
24 HostResolver* host_resolver, 25 HostResolver* host_resolver,
25 const ProxyResolver::LoadStateChangedCallback& callback) 26 const ProxyResolver::LoadStateChangedCallback& callback)
26 : LegacyProxyResolverFactory(true), 27 : ProxyResolverFactoryV8Tracing(host_resolver, nullptr, callback) {}
27 host_resolver_(host_resolver),
28 callback_(callback) {}
29 28
30 scoped_ptr<ProxyResolver> CreateProxyResolver() override { 29 // ProxyResolverFactoryV8Tracing override.
31 return make_scoped_ptr(new ProxyResolverV8Tracing(host_resolver_, nullptr, 30 scoped_ptr<ProxyResolverErrorObserver> CreateErrorObserver() override {
32 nullptr, callback_)); 31 return nullptr;
33 } 32 }
34
35 private:
36 HostResolver* const host_resolver_;
37 const ProxyResolver::LoadStateChangedCallback callback_;
38 }; 33 };
39 34
40 scoped_ptr<ProxyResolverFactory> CreateDefaultProxyResolver( 35 scoped_ptr<ProxyResolverFactory> CreateDefaultProxyResolver(
41 HostResolver* host_resolver, 36 HostResolver* host_resolver,
42 const ProxyResolver::LoadStateChangedCallback& callback) { 37 const ProxyResolver::LoadStateChangedCallback& callback) {
43 return make_scoped_ptr( 38 return make_scoped_ptr(
44 new DefaultProxyResolverFactory(host_resolver, callback)); 39 new DefaultProxyResolverFactory(host_resolver, callback));
45 } 40 }
46 41
47 class LoadStateChangeForwarder 42 class LoadStateChangeForwarder
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 client.Pass())); 213 client.Pass()));
219 } 214 }
220 215
221 void MojoProxyResolverFactoryImpl::RemoveJob(Job* job) { 216 void MojoProxyResolverFactoryImpl::RemoveJob(Job* job) {
222 size_t erased = jobs_.erase(job); 217 size_t erased = jobs_.erase(job);
223 DCHECK_EQ(1u, erased); 218 DCHECK_EQ(1u, erased);
224 delete job; 219 delete job;
225 } 220 }
226 221
227 } // namespace net 222 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698