  
    // Command key combinations are sent via performKeyEquivalent rather than
    // keyDown:. We just forward this on and if WebCore doesn't want to handle
-@@ -2740,6 +2755,9 @@ void RenderWidgetHostViewMac::OnDisplayMetricsChanged(
+@@ -2737,6 +2752,9 @@ void RenderWidgetHostViewMac::OnDisplayMetricsChanged(
  // move) for the given event. Customize here to be more selective about which
  // key presses to autohide on.
  + (BOOL)shouldAutohideCursorForEvent:(NSEvent*)event {

         nil]);
   }
   return validAttributesForMarkedText_.get();
@@ -3436,7 +3458,12 @@ extern NSString *NSTextInputReplacementRangeAttributeName;
 }
 
 - (BOOL)isOpaque {
-  return opaque_;
+  bool wantsTransparent = ui::GpuSwitchingManager::UseTransparent() ||
+                          (self.window && ![self.window isOpaque]);
+  if (wantsTransparent)
+    return NO;
+  else
+    return opaque_;
 }
 
 // "-webkit-app-region: drag | no-drag" is implemented on Mac by excluding

 #include "ui/gl/gl_switches.h"
 
 using content::BrowserAccessibility;
@@ -135,6 +136,11 @@ RenderWidgetHostViewMac* GetRenderWidgetHostViewToUse(
 
 }  // namespace
 
