| Index: chrome/browser/cocoa/chrome_browser_window.mm | 
| diff --git a/chrome/browser/cocoa/chrome_browser_window.mm b/chrome/browser/cocoa/chrome_browser_window.mm | 
| index 35aae1aec454921368e92d926855a79b8f45fec9..25826a390277c25709e84398ecf02f4ad5e15b16 100644 | 
| --- a/chrome/browser/cocoa/chrome_browser_window.mm | 
| +++ b/chrome/browser/cocoa/chrome_browser_window.mm | 
| @@ -243,6 +243,24 @@ namespace { | 
| } | 
| } | 
|  | 
| +- (void)underlaySurfaceAdded { | 
| +  DCHECK_GE(underlaySurfaceCount_, 0); | 
| +  ++underlaySurfaceCount_; | 
| + | 
| +  // We're having the OpenGL surface render under the window, so the window | 
| +  // needs to be not opaque. | 
| +  if (underlaySurfaceCount_ == 1) | 
| +    [self setOpaque:NO]; | 
| +} | 
| + | 
| +- (void)underlaySurfaceRemoved { | 
| +  --underlaySurfaceCount_; | 
| +  DCHECK_GE(underlaySurfaceCount_, 0); | 
| + | 
| +  if (underlaySurfaceCount_ == 0) | 
| +    [self setOpaque:YES]; | 
| +} | 
| + | 
| - (void)windowMainStatusChanged { | 
| [closeButton_ setNeedsDisplay]; | 
| [zoomButton_ setNeedsDisplay]; | 
|  |