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

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 scoped_ptr<ProxyResolverErrorObserver> ReturnNullErrorObserver() {
22 public: 23 return nullptr;
23 DefaultProxyResolverFactory( 24 }
24 HostResolver* host_resolver,
25 const ProxyResolver::LoadStateChangedCallback& callback)
26 : LegacyProxyResolverFactory(true),
27 host_resolver_(host_resolver),
28 callback_(callback) {}
29
30 scoped_ptr<ProxyResolver> CreateProxyResolver() override {
31 return make_scoped_ptr(new ProxyResolverV8Tracing(host_resolver_, nullptr,
32 nullptr, callback_));
33 }
34
35 private:
36 HostResolver* const host_resolver_;
37 const ProxyResolver::LoadStateChangedCallback callback_;
38 };
39 25
40 scoped_ptr<ProxyResolverFactory> CreateDefaultProxyResolver( 26 scoped_ptr<ProxyResolverFactory> CreateDefaultProxyResolver(
41 HostResolver* host_resolver, 27 HostResolver* host_resolver,
42 const ProxyResolver::LoadStateChangedCallback& callback) { 28 const ProxyResolver::LoadStateChangedCallback& callback) {
43 return make_scoped_ptr( 29 return make_scoped_ptr(new ProxyResolverFactoryV8Tracing(
44 new DefaultProxyResolverFactory(host_resolver, callback)); 30 host_resolver, nullptr, callback, base::Bind(&ReturnNullErrorObserver)));
45 } 31 }
46 32
47 class LoadStateChangeForwarder 33 class LoadStateChangeForwarder
48 : public base::RefCounted<LoadStateChangeForwarder> { 34 : public base::RefCounted<LoadStateChangeForwarder> {
49 public: 35 public:
50 LoadStateChangeForwarder() = default; 36 LoadStateChangeForwarder() = default;
51 37
52 void OnLoadStateChanged(ProxyResolver::RequestHandle request_handle, 38 void OnLoadStateChanged(ProxyResolver::RequestHandle request_handle,
53 LoadState load_state) const { 39 LoadState load_state) const {
54 if (!callback_.is_null()) 40 if (!callback_.is_null())
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 client.Pass())); 204 client.Pass()));
219 } 205 }
220 206
221 void MojoProxyResolverFactoryImpl::RemoveJob(Job* job) { 207 void MojoProxyResolverFactoryImpl::RemoveJob(Job* job) {
222 size_t erased = jobs_.erase(job); 208 size_t erased = jobs_.erase(job);
223 DCHECK_EQ(1u, erased); 209 DCHECK_EQ(1u, erased);
224 delete job; 210 delete job;
225 } 211 }
226 212
227 } // namespace net 213 } // namespace net
OLDNEW
« no previous file with comments | « net/data/proxy_resolver_v8_tracing_unittest/error_on_load.js ('k') | net/proxy/network_delegate_error_observer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698