Connect PPAPI IPC channels for non-SFI mode.
commit3d41a2a63bbd307fcee6e6c5547ce5fe29e2f4a5
authorhidehiko@chromium.org <hidehiko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Fri, 21 Feb 2014 05:35:24 +0000 (21 05:35 +0000)
committerhidehiko@chromium.org <hidehiko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Fri, 21 Feb 2014 05:35:24 +0000 (21 05:35 +0000)
treebb6658c1c79985c51ae4cfa732faa21b22beaae3
parent183de202c20e0e62d4c144a091a9ec510443e23e
Connect PPAPI IPC channels for non-SFI mode.

By this CL, plugin starts to talk with hosts via IPC.
For that purpose, ppapi_proxy is linked to nacl_helper (temporarily). This increase the size of nacl_helper, but when we split nacl_helper for non-sfi mode, it'll be resolved.

In SFI mode, this CL shouldn't affect the concept of IPC
channel connection between the plugin and the hosts. We
still use NaClIPCAdapter to wrap the IPC channel, and
NaClDesc for the plugin-side IPC file descriptors.

In non-SFI mode, we neither intercept nor rewrite the
message using NaClIPCAdapter, and the channels are
connected between the plugin and the hosts directly.

Note: plugin_main_nacl.cc is renamed to plugin_main.cc, because files with _nacl.cc suffix are automatically excluded from the sources of non-untrusted libs.

This increases the size of nacl_helper (temporarily) intentionally.

GYP_DEFINES="target_arch=ia32 remove_webcore_debug_symbols=1 linux_strip_symbols=1" GYP_GENERATORS="ninja" gclient runhooks
Before:
   text    data     bss     dec     hex filename
1469882   15576  108644 1594102  1852f6 out/Release/nacl_helper

After:
   text    data     bss     dec     hex filename
5641443  124636  126980 5893059  59ebc3 out/Release/nacl_helper

GYP_DEFINES="target_arch=x64 remove_webcore_debug_symbols=1 linux_strip_symbols=1" GYP_GENERATORS="ninja" gclient runhooks
Before:
   text    data     bss     dec     hex filename
2063530   27910  213872 2305312  232d20 out/Release/nacl_helper

After:
   text    data     bss     dec     hex filename
6304467  234424  247984 6786875  678f3b out/Release/nacl_helper

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3734
TEST=Ran trybot.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@252503 0039d316-1c4b-4281-b951-d872f2087c98
14 files changed:
components/nacl.gyp
components/nacl/loader/DEPS
components/nacl/loader/nacl_listener.cc
components/nacl/loader/nonsfi/DEPS [new file with mode: 0644]
components/nacl/loader/nonsfi/irt_interfaces.cc
components/nacl/loader/nonsfi/irt_interfaces.h
components/nacl/loader/nonsfi/irt_ppapi.cc [new file with mode: 0644]
components/nacl/loader/nonsfi/nonsfi_main.cc
ipc/ipc_channel.h
ppapi/native_client/src/shared/ppapi_proxy/ppruntime.h
ppapi/ppapi_proxy.gypi
ppapi/proxy/irt_ppapi.c
ppapi/proxy/plugin_main_irt.cc [moved from ppapi/proxy/plugin_main_nacl.cc with 86% similarity]
ppapi/proxy/plugin_main_irt.h [new file with mode: 0644]