This is needed to let it create URLRequestContexts that use themselves for fetching PACs.
There are a couple complexities here:
* Cronet doesn't want or need V8, but uses URLRequestContextBuilder.
* URLRequestContextBuilder is in net/, but the v8 stuff is in net_with_v8 / net_browser_services.
The simplest solution I can think of is to subclass URLRequestContextBuilder, making a URLRequestContextBuilderWithV8 that uses in-process v8 or out-of-process Mojo as needed, but leaves all other work to URLRequestContextBuilder. This will necessitate yet another net/ target, sadly. On the plus side, it will simplify Chrome a bit, since it can just depend on the new target and net, instead of deciding between net_browser_services or new_with_v8. It also means we can use the same code to set up IOThread's and ProfileIOData's ProxyServices (Though we may need to be able to have ProxyConfigService use a Mojo side channel, eventually).
Certainly happy to entertain other ideas.
Comment 1 by bugdroid1@chromium.org
, May 17 2017