| OLD | NEW |
| (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_proxy_type_converters.h" | |
| 6 | |
| 7 #include "base/logging.h" | |
| 8 #include "net/base/host_port_pair.h" | |
| 9 #include "net/proxy/proxy_info.h" | |
| 10 #include "net/proxy/proxy_server.h" | |
| 11 | |
| 12 namespace net { | |
| 13 namespace { | |
| 14 | |
| 15 interfaces::ProxyScheme ProxySchemeToMojo(ProxyServer::Scheme scheme) { | |
| 16 switch (scheme) { | |
| 17 case ProxyServer::SCHEME_INVALID: | |
| 18 return interfaces::ProxyScheme::INVALID; | |
| 19 case ProxyServer::SCHEME_DIRECT: | |
| 20 return interfaces::ProxyScheme::DIRECT; | |
| 21 case ProxyServer::SCHEME_HTTP: | |
| 22 return interfaces::ProxyScheme::HTTP; | |
| 23 case ProxyServer::SCHEME_SOCKS4: | |
| 24 return interfaces::ProxyScheme::SOCKS4; | |
| 25 case ProxyServer::SCHEME_SOCKS5: | |
| 26 return interfaces::ProxyScheme::SOCKS5; | |
| 27 case ProxyServer::SCHEME_HTTPS: | |
| 28 return interfaces::ProxyScheme::HTTPS; | |
| 29 case ProxyServer::SCHEME_QUIC: | |
| 30 return interfaces::ProxyScheme::QUIC; | |
| 31 } | |
| 32 NOTREACHED(); | |
| 33 return interfaces::ProxyScheme::INVALID; | |
| 34 } | |
| 35 | |
| 36 ProxyServer::Scheme ProxySchemeFromMojo(interfaces::ProxyScheme scheme) { | |
| 37 switch (scheme) { | |
| 38 case interfaces::ProxyScheme::INVALID: | |
| 39 return ProxyServer::SCHEME_INVALID; | |
| 40 case interfaces::ProxyScheme::DIRECT: | |
| 41 return ProxyServer::SCHEME_DIRECT; | |
| 42 case interfaces::ProxyScheme::HTTP: | |
| 43 return ProxyServer::SCHEME_HTTP; | |
| 44 case interfaces::ProxyScheme::SOCKS4: | |
| 45 return ProxyServer::SCHEME_SOCKS4; | |
| 46 case interfaces::ProxyScheme::SOCKS5: | |
| 47 return ProxyServer::SCHEME_SOCKS5; | |
| 48 case interfaces::ProxyScheme::HTTPS: | |
| 49 return ProxyServer::SCHEME_HTTPS; | |
| 50 case interfaces::ProxyScheme::QUIC: | |
| 51 return ProxyServer::SCHEME_QUIC; | |
| 52 } | |
| 53 NOTREACHED(); | |
| 54 return ProxyServer::SCHEME_INVALID; | |
| 55 } | |
| 56 | |
| 57 } // namespace | |
| 58 } // namespace net | |
| 59 | |
| 60 namespace mojo { | |
| 61 | |
| 62 // static | |
| 63 net::interfaces::ProxyServerPtr | |
| 64 TypeConverter<net::interfaces::ProxyServerPtr, net::ProxyServer>::Convert( | |
| 65 const net::ProxyServer& obj) { | |
| 66 net::interfaces::ProxyServerPtr server(net::interfaces::ProxyServer::New()); | |
| 67 server->scheme = net::ProxySchemeToMojo(obj.scheme()); | |
| 68 if (server->scheme != net::interfaces::ProxyScheme::DIRECT && | |
| 69 server->scheme != net::interfaces::ProxyScheme::INVALID) { | |
| 70 server->host = obj.host_port_pair().host(); | |
| 71 server->port = obj.host_port_pair().port(); | |
| 72 } | |
| 73 return server; | |
| 74 } | |
| 75 | |
| 76 // static | |
| 77 net::ProxyServer | |
| 78 TypeConverter<net::ProxyServer, net::interfaces::ProxyServerPtr>::Convert( | |
| 79 const net::interfaces::ProxyServerPtr& obj) { | |
| 80 return net::ProxyServer(net::ProxySchemeFromMojo(obj->scheme), | |
| 81 net::HostPortPair(obj->host, obj->port)); | |
| 82 } | |
| 83 | |
| 84 // static | |
| 85 net::ProxyInfo | |
| 86 TypeConverter<net::ProxyInfo, mojo::Array<net::interfaces::ProxyServerPtr>>:: | |
| 87 Convert(const mojo::Array<net::interfaces::ProxyServerPtr>& obj) { | |
| 88 net::ProxyList proxy_list; | |
| 89 for (size_t i = 0; i < obj.size(); i++) { | |
| 90 proxy_list.AddProxyServer(obj[i].To<net::ProxyServer>()); | |
| 91 } | |
| 92 net::ProxyInfo info; | |
| 93 info.UseProxyList(proxy_list); | |
| 94 return info; | |
| 95 } | |
| 96 | |
| 97 } // namespace mojo | |
| OLD | NEW |