We need to add support for proxy configuration to the network service. Since proxy configuration has a fair amount of Chrome/ChromeOS-specific magic, the simplest way to do this seems to be to have the service run in the browser process, and pass the config to the NetworkContext via Mojo (And pass in the initial config state during NetworkContext construction - if one not passed in, maybe just use the default URLRequestContextBuilder behavior).
The main complexity with this approach is serializing the ProxyConfig to pass it between processes.
We'll also need to pass along a Mojo pipe to create a ProxyResolverFactory (And possibly restart one, on crash), but that shouldn't be too hard (And can be done independently in another CL).
Planning on punting on how to hook up ChromeOS's DHCP ProxyScriptFetcher, for now.
Comment 1 by eroman@chromium.org
, Sep 1 2017