Pepper: Add a Pepper+NaCl+Mojo test.
commit8e2d2b71e51c0022a2ad7b3535122e7ca01ac6db
authorteravest <teravest@chromium.org>
Mon, 29 Dec 2014 22:52:23 +0000 (29 14:52 -0800)
committerCommit bot <commit-bot@chromium.org>
Mon, 29 Dec 2014 22:53:25 +0000 (29 22:53 +0000)
treec5ec556fe832d53df109e85008d2fb5ecb16e63f
parent825de713b336d895396c5f9b84ed6a85f2e29f7b
Pepper: Add a Pepper+NaCl+Mojo test.

This change injects a NaClDesc into an FD available to the untrusted
plugin for making Mojo calls. This is the foundation for adding support
for Mojo to Pepper plugins.

It's important to note, from a security perspective, that this exposes
implementations of the functions in mojo/public/c/system that run
outside the NaCl sandbox to plugins.

I have a working prototype change where a Pepper plugin makes calls to a
Mojo service implementated in the browser which uses the logic here.
However, this seems like the best place to get started checking things
in.

This interface doesn't go through the IRT for performing Mojo calls;
that will be added in a future change.

This test works on Linux, Mac, and x86-32 Windows. x86-64 Windows
support will be added when http://crbug.com/440012 is resolved.

BUG=414804

Review URL: https://codereview.chromium.org/701273002

Cr-Commit-Position: refs/heads/master@{#309722}
18 files changed:
chrome/chrome_tests.gypi
chrome/test/ppapi/ppapi_browsertest.cc
components/nacl.gyp
components/nacl/browser/nacl_process_host.cc
components/nacl/common/nacl_messages.h
components/nacl/common/nacl_switches.cc
components/nacl/common/nacl_switches.h
components/nacl/common/nacl_types.cc
components/nacl/common/nacl_types.h
components/nacl/loader/DEPS
components/nacl/loader/nacl_listener.cc
mojo/mojo_nacl.gyp
ppapi/ppapi_tests_mojo.gyp [new file with mode: 0644]
ppapi/tests/mojo/DEPS [new file with mode: 0644]
ppapi/tests/mojo/README [new file with mode: 0644]
ppapi/tests/mojo/test_mojo.cc [new file with mode: 0644]
ppapi/tests/mojo/test_mojo.h [new file with mode: 0644]
ppapi/tests/test_case.html