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]; |