Chromium Code Reviews| Index: chrome/common/sandbox_mac.mm |
| diff --git a/chrome/common/sandbox_mac.mm b/chrome/common/sandbox_mac.mm |
| index 03170c44d71220fcd7772d7258006d43a3cd1567..c7fedde706adc937a361e88b0dff2842fd1661a5 100644 |
| --- a/chrome/common/sandbox_mac.mm |
| +++ b/chrome/common/sandbox_mac.mm |
| @@ -7,12 +7,16 @@ |
| #include "base/debug_util.h" |
| #import <Cocoa/Cocoa.h> |
| +#import <OpenGL/OpenGL.h> |
| + |
| extern "C" { |
| #include <sandbox.h> |
| } |
| +#include <signal.h> |
| #include <sys/param.h> |
| #include "base/basictypes.h" |
| +#include "base/chrome_application_mac.h" |
| #include "base/command_line.h" |
| #include "base/file_util.h" |
| #include "base/mac_util.h" |
| @@ -177,7 +181,7 @@ bool Sandbox::QuoteStringForRegex(const std::string& str_utf8, |
| // 10.5.6, 10.6.0 |
| // static |
| -void Sandbox::SandboxWarmup() { |
| +void Sandbox::SandboxWarmup(SandboxProcessType sandbox_type) { |
| base::mac::ScopedNSAutoreleasePool scoped_pool; |
| { // CGColorSpaceCreateWithName(), CGBitmapContextCreate() - 10.5.6 |
| @@ -231,6 +235,23 @@ void Sandbox::SandboxWarmup() { |
| { // Native Client access to /dev/random. |
|
jeremy
2010/12/03 14:22:09
Could you special case this for NaCL while you're
Nico
2010/12/04 00:26:10
Done.
|
| GetUrandomFD(); |
| } |
| + |
| + if (sandbox_type == SANDBOX_TYPE_GPU) { |
| + { // GPU-related stuff is very slow without this, probably because |
| + // the sandbox prevents loading graphics drivers or some such. |
| + CGLPixelFormatAttribute attribs[] = { (CGLPixelFormatAttribute)0 }; |
| + CGLPixelFormatObj format; |
| + GLint n; |
| + CGLChoosePixelFormat(attribs, &format, &n); |
| + if (format) |
| + CGLReleasePixelFormat(format); |
| + } |
| + |
| + |
| + { // Without this, the GPU process dies during [CrApplication init]. |
| + [CrApplication sharedApplication]; |
|
jeremy
2010/12/03 14:22:09
Could you make sure you don't have access to the c
Nico
2010/12/04 00:26:10
The unit test used to fail and passes now. I think
|
| + } |
| + } |
| } |
| // static |