diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-21 21:33:38 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-21 21:33:38 +0000 |
commit | a15eb4a6c85ee10393da31bb31f8531129f80965 (patch) | |
tree | 9e8240a3d85dc07aeebae417fada0f0fe29d6906 /content/browser/ppapi_plugin_process_host.cc | |
parent | 1f120623ac343e8f87658173bda61c27158d86f5 (diff) | |
download | chromium_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.cc | 17 |
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(), |