[MojoJS] Support binding at context and process scope
This patch introduces the concept of "scope" to the Mojo.bindInterface
function. Context-scope corresponds to requesting an interface from the
frame or worker interface provider while process-scope means requesting
it from the process-wide interface provider.
A following change will add support for intercepting interfaces at
process-scope as only context-scope is currently supported by
MojoInterfaceInterceptor.
Bug:
Change-Id: Ib8361aab9ae2910efe05e34e3d75b1d1dc1d6aba
Reviewed-on: https://chromium-review.googlesource.com/639630
Commit-Queue: Reilly Grant <[email protected]>
Reviewed-by: Daniel Cheng <[email protected]>
Reviewed-by: Mike West <[email protected]>
Cr-Commit-Position: refs/heads/master@{#499075}
diff --git a/content/shell/browser/shell_content_browser_client.h b/content/shell/browser/shell_content_browser_client.h
index a463177..9d077b8 100644
--- a/content/shell/browser/shell_content_browser_client.h
+++ b/content/shell/browser/shell_content_browser_client.h
@@ -99,6 +99,10 @@
}
protected:
+ virtual void ExposeInterfacesToFrame(
+ service_manager::BinderRegistryWithArgs<content::RenderFrameHost*>*
+ registry);
+
void set_resource_dispatcher_host_delegate(
std::unique_ptr<ShellResourceDispatcherHostDelegate> delegate) {
resource_dispatcher_host_delegate_ = std::move(delegate);
@@ -114,7 +118,8 @@
base::Closure select_client_certificate_callback_;
- service_manager::BinderRegistryWithArgs<content::RenderFrameHost*>
+ std::unique_ptr<
+ service_manager::BinderRegistryWithArgs<content::RenderFrameHost*>>
frame_interfaces_;
ShellBrowserMainParts* shell_browser_main_parts_;