summaryrefslogtreecommitdiffstats
path: root/content/browser/ppapi_plugin_process_host.cc
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-21 21:33:38 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-21 21:33:38 +0000
commita15eb4a6c85ee10393da31bb31f8531129f80965 (patch)
tree9e8240a3d85dc07aeebae417fada0f0fe29d6906 /content/browser/ppapi_plugin_process_host.cc
parent1f120623ac343e8f87658173bda61c27158d86f5 (diff)
downloadchromium_src-a15eb4a6c85ee10393da31bb31f8531129f80965.zip
chromium_src-a15eb4a6c85ee10393da31bb31f8531129f80965.tar.gz
chromium_src-a15eb4a6c85ee10393da31bb31f8531129f80965.tar.bz2
Get rid of the last NaCl mention in the content sandbox code. Make Windows callers of ChildProcessLauncher specify whether the process should be sandboxed or not through the SandboxedProcessLauncherDelegate interface.
BUG=191682 Review URL: https://codereview.chromium.org/12886041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@189692 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/ppapi_plugin_process_host.cc')
-rw-r--r--content/browser/ppapi_plugin_process_host.cc17
1 files changed, 15 insertions, 2 deletions
diff --git a/content/browser/ppapi_plugin_process_host.cc b/content/browser/ppapi_plugin_process_host.cc
index 0c03973..2364efc4 100644
--- a/content/browser/ppapi_plugin_process_host.cc
+++ b/content/browser/ppapi_plugin_process_host.cc
@@ -39,11 +39,19 @@ namespace content {
class PpapiPluginSandboxedProcessLauncherDelegate
: public content::SandboxedProcessLauncherDelegate {
public:
- PpapiPluginSandboxedProcessLauncherDelegate() {}
+ explicit PpapiPluginSandboxedProcessLauncherDelegate(bool is_broker)
+ : is_broker_(is_broker) {}
virtual ~PpapiPluginSandboxedProcessLauncherDelegate() {}
+ virtual void ShouldSandbox(bool* in_sandbox) OVERRIDE {
+ if (is_broker_)
+ *in_sandbox = false;
+ }
+
virtual void PreSpawnTarget(sandbox::TargetPolicy* policy,
bool* success) {
+ if (is_broker_)
+ return;
// The Pepper process as locked-down as a renderer execpt that it can
// create the server side of chrome pipes.
sandbox::ResultCode result;
@@ -52,6 +60,11 @@ class PpapiPluginSandboxedProcessLauncherDelegate
L"\\\\.\\pipe\\chrome.*");
*success = (result == sandbox::SBOX_ALL_OK);
}
+
+ private:
+ bool is_broker_;
+
+ DISALLOW_COPY_AND_ASSIGN(PpapiPluginSandboxedProcessLauncherDelegate);
};
#endif // OS_WIN
@@ -309,7 +322,7 @@ bool PpapiPluginProcessHost::Init(const PepperPluginInfo& info) {
#endif // OS_POSIX
process_->Launch(
#if defined(OS_WIN)
- is_broker_ ? NULL : new PpapiPluginSandboxedProcessLauncherDelegate,
+ new PpapiPluginSandboxedProcessLauncherDelegate(is_broker_),
#elif defined(OS_POSIX)
use_zygote,
base::EnvironmentVector(),