summaryrefslogtreecommitdiffstats
path: root/chrome/renderer
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/renderer')
-rw-r--r--chrome/renderer/renderer.sb3
-rw-r--r--chrome/renderer/renderer_main_platform_delegate_mac.mm14
2 files changed, 16 insertions, 1 deletions
diff --git a/chrome/renderer/renderer.sb b/chrome/renderer/renderer.sb
index f5a00f6..c43a8ed 100644
--- a/chrome/renderer/renderer.sb
+++ b/chrome/renderer/renderer.sb
@@ -7,7 +7,8 @@
(deny default)
; Allow sending signals to self - http://crbug.com/20370
-(allow %signal-self)
+; ;10.5_ONLY is substitued for a blank string at runtime as needed.
+;10.5_ONLY (allow %signal-self)
; Needed for full-page-zoomed controls - http://crbug.com/11325
(allow sysctl-read)
diff --git a/chrome/renderer/renderer_main_platform_delegate_mac.mm b/chrome/renderer/renderer_main_platform_delegate_mac.mm
index a165909..0b657c3 100644
--- a/chrome/renderer/renderer_main_platform_delegate_mac.mm
+++ b/chrome/renderer/renderer_main_platform_delegate_mac.mm
@@ -131,6 +131,20 @@ bool RendererMainPlatformDelegate::EnableSandbox() {
stringByReplacingOccurrencesOfString:@"USER_HOMEDIR"
withString:NSHomeDirectory()];
+ // Enable 10.5 only sandbox syntax.
+ int32 major_version = 0;
+ int32 minor_version = 0;
+ int32 bugfix_version = 0;
+ base::SysInfo::OperatingSystemVersionNumbers(&major_version,
+ &minor_version,
+ &bugfix_version);
+
+ if (major_version == 10 && minor_version == 5) {
+ sandbox_data = [sandbox_data
+ stringByReplacingOccurrencesOfString:@";10.5_ONLY"
+ withString:@""];
+ }
+
char* error_buff = NULL;
int error = sandbox_init([sandbox_data UTF8String], 0, &error_buff);
bool success = (error == 0 && error_buff == NULL);