summaryrefslogtreecommitdiffstats
path: root/chrome/common/sandbox_mac.h
diff options
context:
space:
mode:
authorjeremy@chromium.org <jeremy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-05 14:04:48 +0000
committerjeremy@chromium.org <jeremy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-05 14:04:48 +0000
commit882f1d56a6183e907e17573a57312712167122b0 (patch)
treea33d8dc6f07982007bdb00642699a5ec51e8b6bc /chrome/common/sandbox_mac.h
parent1c5fdc4aa3b54cbc3a103e26af918188afbe8b66 (diff)
downloadchromium_src-882f1d56a6183e907e17573a57312712167122b0.zip
chromium_src-882f1d56a6183e907e17573a57312712167122b0.tar.gz
chromium_src-882f1d56a6183e907e17573a57312712167122b0.tar.bz2
TBR: mark@chromium.org
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31091 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/sandbox_mac.h')
-rw-r--r--chrome/common/sandbox_mac.h25
1 files changed, 24 insertions, 1 deletions
diff --git a/chrome/common/sandbox_mac.h b/chrome/common/sandbox_mac.h
index c747e20..a8a55b0 100644
--- a/chrome/common/sandbox_mac.h
+++ b/chrome/common/sandbox_mac.h
@@ -5,14 +5,37 @@
#ifndef CHROME_COMMON_SANDBOX_MAC_H_
#define CHROME_COMMON_SANDBOX_MAC_H_
+#include "base/file_path.h"
+
namespace sandbox {
+enum SandboxProcessType {
+ SANDBOX_TYPE_RENDERER,
+
+ // Worker process has *everything* not needed for Cocoa locked down.
+ SANDBOX_TYPE_WORKER,
+
+ // Utility process is as restrictive as the worker process except full access
+ // is allowed to one configurable directory.
+ SANDBOX_TYPE_UTILITY,
+};
+
// Warm up System APIs that empirically need to be accessed before the Sandbox
// is turned on.
void SandboxWarmup();
// Turns on the OS X sandbox for this process.
-bool EnableSandbox();
+// |sandbox_type| - type of Sandbox to use.
+// |allowed_dir| - directory to allow access to, currently the only sandbox
+// profile that supports this is SANDBOX_TYPE_UTILITY .
+//
+// |allowed_dir| must be a "simple" string since it's placed as is in a regex
+// i.e. it must not contain quotation characters, escaping or any characters
+// that might have special meaning when blindly substituted into a regular
+// expression - crbug.com/26492 .
+// Returns true on success, false if an error occurred enabling the sandbox.
+bool EnableSandbox(SandboxProcessType sandbox_type,
+ const FilePath& allowed_dir);
} // namespace sandbox