diff options
Diffstat (limited to 'chrome/renderer')
-rw-r--r-- | chrome/renderer/renderer.sb | 3 | ||||
-rw-r--r-- | chrome/renderer/renderer_main_platform_delegate_mac.mm | 14 |
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); |