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 // Put Mojo definitions into their own namespace to avoid collisions with C++ | |
6 // definitions. | |
7 // TODO(amistry): Resolve the conflict between these two sets of definitions. | |
8 module net.interfaces; | |
9 | |
10 import "host_resolver_service.mojom"; | |
11 | |
12 // Mirror of net::ProxyServer::Scheme. | |
13 enum ProxyScheme { | |
14 INVALID, | |
15 DIRECT, | |
16 HTTP, | |
17 SOCKS4, | |
18 SOCKS5, | |
19 HTTPS, | |
20 QUIC, | |
21 }; | |
22 | |
23 // Mirror of net::ProxyServer. | |
24 struct ProxyServer { | |
25 ProxyScheme scheme; | |
26 string host; | |
27 uint16 port; | |
28 }; | |
29 | |
30 interface ProxyResolverService { | |
31 SetPacScript(string data) => (int32 result); | |
32 | |
33 // Use a ProxyResolverRequestClient instead of returning a result so we can | |
34 // receive load state updates and cancel in-flight requests by destroying the | |
35 // client. | |
36 // TODO(amistry): Add BoundNetLog. | |
37 GetProxyForUrl(string url, ProxyResolverRequestClient client); | |
38 }; | |
39 | |
40 interface ProxyResolverRequestClient { | |
41 ReportResult(int32 error, array<ProxyServer>? proxy_servers); | |
42 }; | |
43 | |
44 interface ProxyResolverFactory { | |
45 // TODO(amistry): Add NetLog and ProxyResolverErrorObserver. | |
46 CreateResolver(ProxyResolverService& resolver, | |
47 HostResolverService host_resolver); | |
48 }; | |
OLD | NEW |