To facilitate the conversion of Blink modules to the Onion Soup model and Mojo services it is necessary to request services from the RenderFrameHost's ServiceRegistry from inside Blink.
This is currently only possible from //content by calling RenderFrame::GetServiceRegistry(). The RenderProcessHost's ServiceRegistry, in contrast, is available through Platform::connectToRemoteService().
Mojo services such as the USB DeviceManager are registered on a per-frame basis because of permissions checks that depend on knowing the URL the frame is currently navigated to. Thus, switching to registering the service process-wide is not an option.
Comment 1 by ortuno@chromium.org
, Mar 21 2016