forked from chromium/chromium
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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
- Loading branch information
hidehiko@chromium.org
committed
Feb 21, 2014
1 parent
183de20
commit 3d41a2a
Showing
14 changed files
with
233 additions
and
39 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
include_rules = [ | ||
"+ppapi/nacl_irt", | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
// Copyright 2014 The Chromium Authors. All rights reserved. | ||
// Use of this source code is governed by a BSD-style license that can be | ||
// found in the LICENSE file. | ||
|
||
#include "base/logging.h" | ||
#include "components/nacl/loader/nonsfi/irt_interfaces.h" | ||
#include "ppapi/c/ppp.h" | ||
#include "ppapi/nacl_irt/irt_ppapi.h" | ||
#include "ppapi/proxy/plugin_main_irt.h" | ||
|
||
namespace nacl { | ||
namespace nonsfi { | ||
namespace { | ||
|
||
struct PP_StartFunctions g_pp_functions; | ||
|
||
int IrtPpapiStart(const struct PP_StartFunctions* funcs) { | ||
g_pp_functions = *funcs; | ||
return PpapiPluginMain(); | ||
} | ||
|
||
} // namespace | ||
|
||
const struct nacl_irt_ppapihook kIrtPpapiHook = { | ||
IrtPpapiStart, | ||
PpapiPluginRegisterThreadCreator, | ||
}; | ||
|
||
} // namespace nonsfi | ||
} // namespace nacl | ||
|
||
int32_t PPP_InitializeModule(PP_Module module_id, | ||
PPB_GetInterface get_browser_interface) { | ||
return nacl::nonsfi::g_pp_functions.PPP_InitializeModule( | ||
module_id, get_browser_interface); | ||
} | ||
|
||
void PPP_ShutdownModule(void) { | ||
nacl::nonsfi::g_pp_functions.PPP_ShutdownModule(); | ||
} | ||
|
||
const void *PPP_GetInterface(const char *interface_name) { | ||
return nacl::nonsfi::g_pp_functions.PPP_GetInterface(interface_name); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.