-
rockot authored
Introduces a new content::AssociatedInterfaceRegistry and content::AssociatedInterfaceProvider to serve as Channel-associated interface counterparts to their shell namesakes. RenderFrameHost and RenderFrame each have both of these things on them, and they're routed to the other side using a new RouteProvider interface buried in RenderProcessHostImpl / ChildThreadImpl on either end. Also adds a WebContentsInterfaceRegistry to every WebContents, and a helper WebContentsFrameBindingSet<T> to allow consumers to very easily manage the lifetime of associated interface bindings for each frame in a WebContents. See the follow-up patch for example usage. Part a series of CLs to enable and demonstrate WebContents associated interfaces: 1. https://codereview.chromium.org/2309513002 2. https://codereview.chromium.org/2316963005 3. This CL 4. https://codereview.chromium.org/2310583002 BUG=612500 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation Review-Url: https://codereview.chromium.org/2310563002 Cr-Commit-Position: refs/heads/master@{#418717}
f62002a0