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

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

Issue 896203003: Implement utility-side proxy resolver Mojo service. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@proxy-diffbase
Patch Set: fix windows compile Created 5 years, 10 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
« no previous file with comments | « net/proxy/mojo_type_converters.h ('k') | net/proxy/proxy_list.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "net/proxy/mojo_type_converters.h"
6
7 #include "base/logging.h"
8 #include "net/base/host_port_pair.h"
9 #include "net/proxy/proxy_server.h"
10
11 namespace net {
12 namespace {
13
14 interfaces::ProxyScheme ProxySchemeToMojo(ProxyServer::Scheme scheme) {
15 switch (scheme) {
16 case ProxyServer::SCHEME_INVALID:
17 return interfaces::PROXY_SCHEME_INVALID;
18 case ProxyServer::SCHEME_DIRECT:
19 return interfaces::PROXY_SCHEME_DIRECT;
20 case ProxyServer::SCHEME_HTTP:
21 return interfaces::PROXY_SCHEME_HTTP;
22 case ProxyServer::SCHEME_SOCKS4:
23 return interfaces::PROXY_SCHEME_SOCKS4;
24 case ProxyServer::SCHEME_SOCKS5:
25 return interfaces::PROXY_SCHEME_SOCKS5;
26 case ProxyServer::SCHEME_HTTPS:
27 return interfaces::PROXY_SCHEME_HTTPS;
28 case ProxyServer::SCHEME_QUIC:
29 return interfaces::PROXY_SCHEME_QUIC;
30 }
31 NOTREACHED();
32 return interfaces::PROXY_SCHEME_INVALID;
33 }
34
35 ProxyServer::Scheme ProxySchemeFromMojo(interfaces::ProxyScheme scheme) {
36 switch (scheme) {
37 case interfaces::PROXY_SCHEME_INVALID:
38 return ProxyServer::SCHEME_INVALID;
39 case interfaces::PROXY_SCHEME_DIRECT:
40 return ProxyServer::SCHEME_DIRECT;
41 case interfaces::PROXY_SCHEME_HTTP:
42 return ProxyServer::SCHEME_HTTP;
43 case interfaces::PROXY_SCHEME_SOCKS4:
44 return ProxyServer::SCHEME_SOCKS4;
45 case interfaces::PROXY_SCHEME_SOCKS5:
46 return ProxyServer::SCHEME_SOCKS5;
47 case interfaces::PROXY_SCHEME_HTTPS:
48 return ProxyServer::SCHEME_HTTPS;
49 case interfaces::PROXY_SCHEME_QUIC:
50 return ProxyServer::SCHEME_QUIC;
51 }
52 NOTREACHED();
53 return ProxyServer::SCHEME_INVALID;
54 }
55
56 } // namespace
57 } // namespace net
58
59 namespace mojo {
60
61 // static
62 net::interfaces::ProxyServerPtr
63 TypeConverter<net::interfaces::ProxyServerPtr, net::ProxyServer>::Convert(
64 const net::ProxyServer& obj) {
65 net::interfaces::ProxyServerPtr server(net::interfaces::ProxyServer::New());
66 server->scheme = net::ProxySchemeToMojo(obj.scheme());
67 if (server->scheme != net::interfaces::PROXY_SCHEME_DIRECT &&
68 server->scheme != net::interfaces::PROXY_SCHEME_INVALID) {
69 server->host = obj.host_port_pair().host();
70 server->port = obj.host_port_pair().port();
71 }
72 return server.Pass();
73 }
74
75 // static
76 net::ProxyServer
77 TypeConverter<net::ProxyServer, net::interfaces::ProxyServerPtr>::Convert(
78 const net::interfaces::ProxyServerPtr& obj) {
79 return net::ProxyServer(net::ProxySchemeFromMojo(obj->scheme),
80 net::HostPortPair(obj->host, obj->port));
81 }
82
83 } // namespace mojo
OLDNEW
« no previous file with comments | « net/proxy/mojo_type_converters.h ('k') | net/proxy/proxy_list.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698