| Index: content/common/sandbox_mac.mm
|
| diff --git a/content/common/sandbox_mac.mm b/content/common/sandbox_mac.mm
|
| index 9ef3e1c6cdcad0f1c44e32102d7912bef2a1225e..118919f20a3491f284216ff8d945b7889bf4b665 100644
|
| --- a/content/common/sandbox_mac.mm
|
| +++ b/content/common/sandbox_mac.mm
|
| @@ -38,6 +38,11 @@ extern "C" {
|
| #include "ui/base/layout.h"
|
| #include "ui/gl/gl_surface.h"
|
|
|
| +extern "C" {
|
| +void CGSSetDenyWindowServerConnections(bool);
|
| +void CGSShutdownServerConnections();
|
| +};
|
| +
|
| namespace content {
|
| namespace {
|
|
|
| @@ -268,8 +273,8 @@ void Sandbox::SandboxWarmup(int sandbox_type) {
|
| kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Host));
|
|
|
| // Load in the color profiles we'll need (as a side effect).
|
| - (void) base::mac::GetSRGBColorSpace();
|
| - (void) base::mac::GetSystemColorSpace();
|
| + ignore_result(base::mac::GetSRGBColorSpace());
|
| + ignore_result(base::mac::GetSystemColorSpace());
|
|
|
| // CGColorSpaceCreateSystemDefaultCMYK - 10.6
|
| base::ScopedCFTypeRef<CGColorSpaceRef> cmyk_colorspace(
|
| @@ -325,6 +330,18 @@ void Sandbox::SandboxWarmup(int sandbox_type) {
|
| NSColor* color = [NSColor controlTextColor];
|
| [color colorUsingColorSpaceName:NSCalibratedRGBColorSpace];
|
| }
|
| +
|
| + if (sandbox_type == SANDBOX_TYPE_RENDERER &&
|
| + base::mac::IsOSMountainLionOrLater()) {
|
| + // Now disconnect from WindowServer, after all objects have been warmed up.
|
| + // Shutting down the connection requires connecting to WindowServer,
|
| + // so do this before actually engaging the sandbox. This is only done on
|
| + // 10.8 and higher because doing it on earlier OSes causes layout tests to
|
| + // fail <http://crbug.com/397642#c48>. This may cause two log messages to
|
| + // be printed to the system logger on certain OS versions.
|
| + CGSSetDenyWindowServerConnections(true);
|
| + CGSShutdownServerConnections();
|
| + }
|
| }
|
|
|
| // static
|
|
|