|
Adds associated interface support between RenderFrameHost and RenderFrame.
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
Committed: https://crrev.com/f62002a08f3025d4d9fe488c0986369ae94e1f10
Cr-Commit-Position: refs/heads/master@{#418717}
Total comments: 1
Total comments: 22
Total comments: 3
Total comments: 1
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+870 lines, -68 lines) |
Patch |
|
M |
content/browser/frame_host/render_frame_host_delegate.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
3 chunks |
+8 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/browser/frame_host/render_frame_host_impl.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
4 chunks |
+8 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/browser/frame_host/render_frame_host_impl.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
5 chunks |
+36 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/browser/renderer_host/render_process_host_impl.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
8 chunks |
+29 lines, -6 lines |
0 comments
|
Download
|
|
M |
content/browser/renderer_host/render_process_host_impl.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
14 chunks |
+82 lines, -39 lines |
0 comments
|
Download
|
|
M |
content/browser/web_contents/web_contents_impl.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
5 chunks |
+20 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/browser/web_contents/web_contents_impl.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
5 chunks |
+29 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/child/child_thread_impl.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
4 chunks |
+25 lines, -1 line |
0 comments
|
Download
|
|
M |
content/child/child_thread_impl.cc
|
View
|
1
2
3
4
5
6
7
|
5 chunks |
+43 lines, -2 lines |
0 comments
|
Download
|
|
M |
content/common/BUILD.gn
|
View
|
1
2
3
4
5
6
7
8
9
10
|
2 chunks |
+5 lines, -0 lines |
0 comments
|
Download
|
|
A |
content/common/associated_interface_provider_impl.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+33 lines, -0 lines |
0 comments
|
Download
|
|
A |
content/common/associated_interface_provider_impl.cc
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+28 lines, -0 lines |
0 comments
|
Download
|
|
A |
content/common/associated_interface_registry_impl.h
|
View
|
1
2
3
4
5
|
1 chunk |
+37 lines, -0 lines |
0 comments
|
Download
|
|
A |
content/common/associated_interface_registry_impl.cc
|
View
|
1
2
3
4
5
|
1 chunk |
+38 lines, -0 lines |
0 comments
|
Download
|
|
A |
content/common/associated_interfaces.mojom
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+21 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/public/browser/BUILD.gn
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/public/browser/render_frame_host.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
2 chunks |
+6 lines, -0 lines |
0 comments
|
Download
|
|
A |
content/public/browser/web_contents_binding_set.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+156 lines, -0 lines |
0 comments
|
Download
|
|
A |
content/public/browser/web_contents_binding_set.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+43 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/public/common/BUILD.gn
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
A |
content/public/common/associated_interface_provider.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+56 lines, -0 lines |
0 comments
|
Download
|
|
A |
content/public/common/associated_interface_registry.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+64 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/public/renderer/render_frame.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
2 chunks |
+11 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/renderer/render_frame_impl.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
4 chunks |
+8 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/renderer/render_frame_impl.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
2 chunks |
+22 lines, -0 lines |
0 comments
|
Download
|
|
M |
ipc/ipc_channel_mojo.cc
|
View
|
1
2
3
4
5
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
ipc/ipc_channel_mojo_unittest.cc
|
View
|
1
2
3
4
5
|
2 chunks |
+7 lines, -5 lines |
0 comments
|
Download
|
|
M |
ipc/ipc_channel_proxy.h
|
View
|
1
2
3
4
5
|
2 chunks |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
ipc/ipc_channel_proxy.cc
|
View
|
1
2
3
4
5
|
2 chunks |
+17 lines, -0 lines |
0 comments
|
Download
|
|
M |
ipc/ipc_listener.h
|
View
|
1
2
3
4
5
|
2 chunks |
+9 lines, -0 lines |
0 comments
|
Download
|
|
M |
ipc/ipc_mojo_bootstrap.cc
|
View
|
1
2
3
4
5
6
7
8
|
4 chunks |
+10 lines, -15 lines |
0 comments
|
Download
|
|
M |
ipc/message_router.h
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
ipc/message_router.cc
|
View
|
1
2
3
4
5
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
Total messages: 78 (51 generated)
|