All the of NetworkService's objects are in content/common, so they can't be used in Chrome. They're in that directory largely because ResourceRequest depends on a number of private content/ enums classes. Also, the network service just ignores all these enums, since they're currently instructions to AppCache and ServiceWorker, which the NEtworkService doesn't care about.
So we're left with a couple options:
* Make the enum classes public, just for this use.
* Depend on file in content/common directly. Since they're headers, and the only classes of concern are enum classes, this should just work, but seems ugly. We could also just move the mojo files to content/public/common, and leave the enums where they are, using the same reasoning.
* Make a new way of creating URLLoaders that doesn't depend on these APIs. This seems too icky, since we'd have to have content-specific mojo subclasses that implement the new APIs and the old ones, basically doubling up interfaces at every layer.
This has to be resolved before we can start migrating service configuration, since Chrome can't configure a service if it can't even depend on the service's interface.
Comment 1 by mmenke@chromium.org
, Jun 26 2017