Add more checks to investigate SupervisedUserPrefStore crash at startup.
[chromium-blink-merge.git] / net / interfaces / proxy_resolver_service.mojom
bloba2fb70e54b34295c7c8d5a61b14deefc7074eb78
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.
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;
10 import "host_resolver_service.mojom";
12 // Mirror of net::ProxyServer::Scheme.
13 enum ProxyScheme {
14   INVALID,
15   DIRECT,
16   HTTP,
17   SOCKS4,
18   SOCKS5,
19   HTTPS,
20   QUIC,
23 // Mirror of net::ProxyServer.
24 struct ProxyServer {
25   ProxyScheme scheme;
26   string host;
27   uint16 port;
30 interface ProxyResolver {
31   SetPacScript(string data) => (int32 result);
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);
40 interface ProxyResolverRequestClient {
41   ReportResult(int32 error, array<ProxyServer>? proxy_servers);
44 interface ProxyResolverFactory {
45   // TODO(amistry): Add NetLog and ProxyResolverErrorObserver.
46   CreateResolver(ProxyResolver& resolver,
47                  HostResolver host_resolver);