Justin TerAvest
unread,Sep 24, 2014, 4:58:32 PM9/24/14Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to peppe...@chromium.org, mojo...@chromium.org, ncb...@chromium.org, Raymes Khoury
I'm pleased to say that I've got a (hacky) prototype working for an
(out-of-process, non-NaCl) Pepper plugin using a remote Mojo service
in the browser.
The change is available at:
https://codereview.chromium.org/598183002
A "bootstrap" MojoPlatformHandle is provided to the plugin as the result of a
PPB_Mojo::GetHandle call, and the plugin can then use Mojo embedder libraries
to create a channel and use Mojo libraries to talk to services. I like that
this approach keeps the proxy simple and allows the plugin to use the "normal"
Mojo interfaces. I'd love any feedback on this approach.
For the prototype, the browser side creates an implementation of the
EchoService for testing. I'm assuming we'll have some sort of service
name whitelist in pepper_mojo_host.cc to restrict the services a plugin can
connect to, but I'm not sure yet how we should add services to make them
available.
Some open issues remain:
* This needs to support NaCl (large amount of work here).
* I'm not convinced that Environment/RunLoop are being used properly in the
plugin code here. I don't see these classes being used in the
MojoApplication code in the renderer, but the code didn't work without
them.
* The browser code needs to support more than one GetHandle() call.